Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Why doesn't Onshape support sketch blocks or sketch scaling?

ian_harris952ian_harris952 Member Posts: 18
Just idle curiosity I guess. I've played with quite a few CAD packages, and most, if not all, support the concept of blocks for drawings. So why doesn't OS have this functionality? Is it on the to-do list?
Same comment for scaling sketch items. Several times I've found I wanted to create a copy of a group of sketch items, but make it a different size; 10% bigger, 25% smaller, whatever. I have not been able to discover a way of doing it. Well I have. I export the .dxf then import it into Librecad, and do the scaling and copying there. Not ideal but it's the only workaround I've found.
I'm not a power user or anything, just a hobbyist amateur. So maybe I'm missing something or just haven't explored OS deeply enough? Apologies if these are stupid questions.
One reason for this question is that I've recently acquired a laser engraver/cutter, and the software to drive it (I'm using Lightburn under Linux) can import .dxf files. Maybe OS isn't the right tool for this job and I should be using a 2D CAD package like Librecad, but I'm used to OS now and I'd prefer to do everything in OS, and it is perfectly capable of producing 2D sketches and exporting them in .dxf format. With these bits of functionality missing...

:-\

Answers

  • alnisalnis Member Posts: 344 EDU
    edited July 4
    Generally, Onshape approaches modeling differently for 2D objects than 2D CAD packages do. Instead of repeating features in sketches, you can write a custom feature or derive components to save on design time. For scaling, you can scale a whole part at once with the transform feature, but admittedly, this doesn't work for parts within sketches.

    What sorts of things are you modeling that require sketch blocks and sketch scaling?
    Perhaps there are some other workflows that would be even more efficient. If you're doing laser cutting, here are some useful things to know:

    Laser Joint - custom feature that automates laser-cut finger joints:
    https://cad.onshape.com/documents/578830e4e4b0e65410f9c34e/v/64dbc32dae444548a578ff56/e/dfd5effddfd7f2ecce4b0246

    Auto Layout - simple layout tool for 2D cutting. Does not do nesting (uses bounding boxes of parts), but saves tons of time flattening things out:
    https://cad.onshape.com/documents/576e01dbe4b0cc2e7f46a55d/v/731e73ac0b7b1e4334f13106/e/887d6e2324589bfd2058c3e1

    Create drawing -> custom template -> no border or title block -> insert part studio filter -> select your part studio with the layout feature already run -> top view -> export as DXF -> ready to send to laser cutter!

    Here's a video I made that features more info about how to use these workflows:


    Get in touch: [email protected] | My personal site: https://alnis.dev | My YouTube channel (I make tutorial videos for Onshape & Inventor): https://www.youtube.com/c/AlnisSmidchens
  • ian_harris952ian_harris952 Member Posts: 18
    Hello Alnis, thanks for the very quick reply!
    My main interest is radio control model planes. I've been using Onshape for a while to create parts to print with my 3D printer (like wheel wells and servo holders), and it's brilliant for that. I've also tried printing wing ribs and fuselage formers, which works fine, but now with the laser cutter I am looking at using it to cut ribs and formers from balsa and/or ply. Bit more old school I guess, and the plastic part will always be heavier than a wood part.
    So one thing I would like to do is generate a set of wing ribs from a "root" rib and a "tip" rib, which may be different sizes and maybe different airfoils. I have found a plugin that does something similar, but it generates the intermediate ribs as 3d parts, not 2d drawings, so I can't export them as .dxfs. I've tried exporting them to a drawing and exporting the drawing as a .dxf, but that seems a bit kludgy to me, when I can directly export drawing items as .dxf without going through the intermediate step of creating a drawing.
    I also do a lot of moving around of fuselage formers too, so useful to have them as a block item. I try to set them up in order and loft between them to check that everything looks okay. I've discovered lots of interesting errors this way... Of course that means exploding the block, fixing the problem then blocking again, but in the end I think using blocks for this sort of stuff makes life a bit easier.
    I've read about featurescript, but am nowhere near competent enough to actually write one. Well, maybe a simple basic one (I was a programmer in a past life, but that was Cobol on IBM mainframes). C++ terrifies me. I'm okay with C and Python, but that's about it.
    I'm looking forward to checking out those other tools you mentioned. I have another project that they may be ideal for :-)

    Thanks again,
    Ian
  • alnisalnis Member Posts: 344 EDU
    edited July 4
    It's always fun to help solve a problem :)

    If you already have 3D parts generated for the formers or ribs, Auto Layout should be able to get things to a state where you can make the drawing of the part studio and export to DXF.

    What I would recommend is rather than modeling formers and lofting between them to produce the body, instead try making the body as a surface loft and then modeling the formers within that body. That way, they will adapt if you need to tweak the shape rather than having to manually tweak them to get the shape you want.

    Here is one approach for that method:
    https://cad.onshape.com/documents/c0dfc369204d5486c422ba94/w/d266b880492ea06612a5418a/e/c0e89a8d475f794d3ef33108



    As for writing FeatureScript, it's not as bad as it sounds! You can make one almost entirely just by clicking the buttons to prefill blocks of code. If you're okay with C and Python, then FeatureScript should not be too bad. I would recommend looking at some simple custom features to get a sense for how they work, such as multi-plane:
    https://cad.onshape.com/documents/575857fae4b06a2590ec9d29/w/7a682d53abc1dbd6192f8299/e/5ac3fd64f34d310bc3e94a73

    Plus, the documentation is great:
    https://cad.onshape.com/FsDoc/index.html
    Get in touch: [email protected] | My personal site: https://alnis.dev | My YouTube channel (I make tutorial videos for Onshape & Inventor): https://www.youtube.com/c/AlnisSmidchens
  • michael3424michael3424 Member Posts: 584 ✭✭✭

  • michael3424michael3424 Member Posts: 584 ✭✭✭

    So one thing I would like to do is generate a set of wing ribs from a "root" rib and a "tip" rib, which may be different sizes and maybe different airfoils. I have found a plugin that does something similar, but it generates the intermediate ribs as 3d parts, not 2d drawings, so I can't export them as .dxfs. I've tried exporting them to a drawing and exporting the drawing as a .dxf, but that seems a bit kludgy to me, when I can directly export drawing items as .dxf without going through the intermediate step of creating a drawing.

    I frequently use a laser to cut out flat parts designed in Onshape.  Once the part is finished just right-click on a part face and select "export as DXF/DWG..." from the resulting drop down.
  • tim_hess427tim_hess427 Member Posts: 553 PRO
    @ian_harris952 - One tip you may find useful is that you can select a face and then right-click to export the profile for that face as a .dxf. So, you can sketch and extrude to get your base part. Then, copy/scale as much as you want. Then, just select the faces you want to export. Hope that can help your workflow a bit. 
  • ian_harris952ian_harris952 Member Posts: 18
    @tim_hess427 thank for the tip. I didn't know that was possible. I'll definitely have a look at that. Still a bit roundabout; sketch -> part -> face -> dxf, rather than sketch -> dxf, but hey, whatever works! It's better than my solution...

    @alnis_smidchens I really like that idea! I'll definitely be trying that! Thanks.

    ;-)
  • bruce_williamsbruce_williams Member, Developers Posts: 745 PRO
    @alnis_smidchens
    great tips!
    your 'Loft Section Demo' is not public. Did you mean to make it so?
    www.accuratepattern.com
  • alnisalnis Member Posts: 344 EDU
    edited July 6
    @bruce_williams Thanks! That's weird about the sharing. I turned the public & link sharing off and on again. Could you please try again? Thanks!
    Get in touch: [email protected] | My personal site: https://alnis.dev | My YouTube channel (I make tutorial videos for Onshape & Inventor): https://www.youtube.com/c/AlnisSmidchens
  • bruce_williamsbruce_williams Member, Developers Posts: 745 PRO
    @alnis_smidchens
    mmm.  that is working now.  Maybe it was me...
    www.accuratepattern.com
  • Evan_ReeseEvan_Reese Member Posts: 918 PRO
    I'd like to chime in here to say that I'd definitely use sketch blocks if they were available and there's not currently a workaround that I love for it. "sketch groups" would also be a fine name. When I say sketch blocks, I'm looking for:
    1. the ability to create a block within a sketch from a set of entities, or designate an entire sketch as a sketch block.
    2. link sketch blocks in from other part studios or documents into an active sketch (they should update when the link is updated)
    3. ability to easily scale a sketch block either with one dimension or a scale factor.
    4. locking it down so it can't be edited by accident.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
    Instagram: @evan.reese.designs
  • ian_harris952ian_harris952 Member Posts: 18
    @Evan_Reese that's the functionality I'd like succinctly and clearly defined. Is implementing it on somebody's to-do list?

    :-\
  • alnisalnis Member Posts: 344 EDU
    @Evan_Reese I think that would make a great improvement request! I can definitely see real use cases for the functionality you mention.

    @ian_harris952 I don't believe there's an IR for this for sketches yet. There's a similar one for drawings here:
    https://forum.onshape.com/discussion/comment/35462
    Get in touch: [email protected] | My personal site: https://alnis.dev | My YouTube channel (I make tutorial videos for Onshape & Inventor): https://www.youtube.com/c/AlnisSmidchens
  • tim_hess427tim_hess427 Member Posts: 553 PRO
    I've never found myself wanting this functionality, but hearing it described by Evan does make me want it. I can already think of several use cases where I'm either deriving a sketch from another part studio or creating a "base" sketch, and then scaling it based on configurations. Currently, I'm having to do the workaround where I create a surface, scale the surface, then create new sketches based on that. 

    I'd love a "sketch block" that I can define once, and then configure a scale factor and be done with it. 

    I'll gladly vote for that!
Sign In or Register to comment.