Announcement

Collapse
No announcement yet.

OpenSCAD work in progress features

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OpenSCAD work in progress features

    I stumbled across this OpenSCAD wiki page https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/WIP

    In there it discusses a new function called textmetrics. This is exactly the function I needed to improve the layout of the text in my ring/bracelet model. So I downloaded the latest snapshot of OpenSCAD and utilizing this function, with some new recursive function definitions, I am now able to achieve a much nicer looking, proportional-spaced layout of the text. See attached image for an example.

    I realize this new function won't be in an official release for some time, and if you use the snapshot, you still have to enable the feature from within Preferences->Features, but I think it's pretty awesome, so be aware that there's some good reasons to upgrade OpenSCAD on the Makewithtech platform when there's a new official release.


  • #2
    Nevermind the text (which is nice BTW), I am impressed with the filleting. Poor fillet capabilities is why I dropped openSCAD.

    Comment


    • CoreyPDX
      CoreyPDX commented
      Editing a comment
      ah, I see it now. lazy-union. Thanks!

    • Ender5r
      Ender5r commented
      Editing a comment
      Are you thanking me? If so, for what?

    • CoreyPDX
      CoreyPDX commented
      Editing a comment
      Lol, I thought you said you are impressed with the filleting, which I took to mean "impressed with filleting in the snapshot OpenSCAD". I did some googling about fillets in OpenSCAD and there was some discussion in 2014 about implementing a type of union operator that would create filleting between the objects in the union. Apparently they can't implement this in OpenSCAD until there is support in the underlying CSG code. Since that was eight years ago, I took that to mean that possibly CSG had since developed the needed feature and that lazy-union(), referred to in the Work-In-Progress notes, was built upon that new CSG feature. lazy-union turns out to be unrelated, sadly.

      Thanks for replying and causing me to retrace my steps
      Last edited by CoreyPDX; 07-01-2022, 09:59 PM.

  • #3
    I am not aware of any new filleting feature(s). That "real pain" issue was a deal-breaker for me.

    Comment


    • CoreyPDX
      CoreyPDX commented
      Editing a comment
      In reading through the comments on a github request for filleting/chamfering in openscad, I ran across this which looks interesting:

      https://forum.openscad.org/I-made-a-...n-td33534.html

    • Ender5r
      Ender5r commented
      Editing a comment
      I've gotten used to filleting in F360. It is not perfect, but 1000% better than openSCAD.

    • CoreyPDX
      CoreyPDX commented
      Editing a comment
      I get ya, ok.

  • #4
    Minor update on this thread for anyone who may be interested in this topic:

    I decided to try out the unionRound() module from:

    github)
    https://github.com/Irev-Dev/Round-Anything.git

    zip file)
    https://github.com/Irev-Dev/Round-An...ads/master.zip


    It seems pretty intuitive to use and creates nice looking fillets, even for oddly-angled objects. If the "masking" idea seems not well documented, set the showMask parameter to true in the demo code and it will become obvious how it works.

    One caveat: I found that my snapshot download of the latest openscad is segfaulting on my test example, but the latest official openscad release (2021.01) doesn't crash.

    So if you want fillets in openscad, I suggest you check this out, because it might save you a lot of time.

    Comment


    • #5
      Thanks for posting exciting features from future builds and external modules here.

      In the next couple of days, I will be deploying a major upgrade to the backed at Model @ MakeWithTech. It is faster, captures better logs, and supports saving to SVG, DXF, and 3MF file formats. But that is not all. The next backend will make it possible to support user-provided 3rd party modules, fonts, and SVG and DXF files for imports.

      The concept is really very simple. When sharing a model on the platform in addition to uploading a SCAD file you will have the option to upload a ZIP file that will be unzipped into the same location as your OpenSCAD script. Then you can reference this location for your include, use, import, and font use statements.

      Your openscad execution is sandboxed to isolate the environment from malicious code.

      I expect this feature will be live in the next 30 days.

      Comment


      • CoreyPDX
        CoreyPDX commented
        Editing a comment
        Wow, very cool! I like the sandbox idea. This also allows people to lock down a specific version of a library module, and also to provide a not easily obtained font.
        Last edited by CoreyPDX; 07-29-2022, 02:00 PM.

    • #6
      CoreyPDX You are correct. This will make sure a creator-submitted model stays in sync with the versions of components they want to use. What are your thoughts about unzipping all files to the openscad script root vs supporting unzipping to a directory tree?

      Comment


      • #7
        Originally posted by irvshapiro View Post
        CoreyPDX What are your thoughts about unzipping all files to the openscad script root vs supporting unzipping to a directory tree?
        Hmm, my first thought is "I want the whole tree because it will mimic my development environment", however, currently the visibility of uploaded files is just a list rather than a tree, so unless the UI changes to support navigating the remote structure (in order to add, delete, update individual files), I think it could be difficult to debug problems.

        On the other hand, if you supported only a flat, top-level root structure only, do you automatically flatten out the zip file's structure, or reject directories in the zip file? If you flatten it out, what do you do about file name collisions? This also imposes some restrictions on the developer to flatten their file structure.

        Overall, my preference is for a remote tree, but you'll need to provide a navigator UI for that. Uploading zip files could then be a convenience, rather than a necessity, because then developers could upload/delete individual files to remote directories at their whim.
        Last edited by CoreyPDX; 07-29-2022, 02:26 PM.

        Comment

        Working...
        X