pattern of hexagons on cylinder

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
ehrichweiss
Posts: 11
Joined: Tue Jan 26, 2016 5:46 pm

pattern of hexagons on cylinder

Postby ehrichweiss » Thu Aug 18, 2016 11:48 pm

NOTE: this discussion was split off from other thread "hide measures". --DeepSOIC, suggested by NormandC
NormandC wrote: There's already a feature request on the bug tracker. But until a developer volunteers to implement it, this won't get done. The sketcher has not been worked on for most of the past year.
That's sad. Maybe I'll have a look at it but I'm so busy with this project I probably won't have time till after I'm done.
ehrichweiss wrote:I'm working with a project that has about 2500 hexagons
NormandC wrote:That's massive.
ehrichweiss wrote:No, I can't make it simpler or break it down into smaller pieces.
NormandC wrote:Why?!? :roll:
It wraps around a cylinder and due to the way that FC handles cylinders, I either do it all once a certain way, or I do it piece by piece by hand, OR it won't work because unfortunately Draft Array, and Part Design's Linear Pattern have their own little limitations on how I can put these hexagons on the cylinder. I already made it parametric with a spreadsheet but there's only so much I can do with many of the limitations that the tools impose. For example, if I use Linear Pattern, I can't constrain the distance between the patterns nearly as easily as if I use Draft Array, but DA will only use certain types of objects in a certain way. For example, I can make an Array of Sketches with it but I can't then easily Pad them after I'm done(no idea why, Upgrading and "Convert Draft to Sketch" all seem to do the wrong thing and I don't know why) BUT if I Pad the original hexagons then it takes the whole object(not just the hexagons) and makes for more cleanup than I have time for, even with the workflow I'm dealing with now. If Draft Array could take a Sketch and make an array of Sketches that I could then easily Pad, that'd be ideal and would take me about 5 minutes but alas, it doesn't seem to be that easy/intuitive yet.
NormandC wrote: Creating a sketch with 2500 constrained hexagons is totally insane. Even in commercial programs with mature solvers sketchers it would be an almost impossible task because at some point the solver would totally bog down. There's too much stuff to solve.
Yeah, insane is a good word for it.
NormandC wrote:
  • Are your hexagons the same size, or are they of different sizes (and how many sizes)?
  • Do you have any kind of repeating pattern?
  • What's your end game? What will you use these hexagons for? Will you produce a 3D shape?
They're all the same size. Yes, they have an easy pattern(simple honeycomb) but have to be very precise because they have to repeat across the face of the cylinder(the main problem here...and the number of crashes I get working with the cylinder is about 100 times(no exaggeration) more than what I get if I try this on a flat plane[another bug I need to report]) to within 0.01mm, and they'll be 3D, and eventually cut with a CNC(hence the constraints). The pattern is easy, the orientation, offset, size, etc. constraints are the big requirements though.
NormandC wrote: If all you need is 2D then I recommend you work in a dedicated 2D CAD program like LibreCAD or DraftSight.
Yeah, I wish it were that easy for me.
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: hide measures

Postby NormandC » Fri Aug 19, 2016 1:53 am

ehrichweiss wrote:
NormandC wrote:There's already a feature request on the bug tracker. (...)
That's sad. Maybe I'll have a look at it but I'm so busy with this project I probably won't have time till after I'm done.
I found the feature request: issue #1629 (it's 2 year old :| )
ehrichweiss wrote:They're all the same size. Yes, they have an easy pattern(simple honeycomb) but have to be very precise because they have to repeat across the face of the cylinder(the main problem here...and the number of crashes I get working with the cylinder is about 100 times(no exaggeration) more than what I get if I try this on a flat plane[another bug I need to report]) to within 0.01mm, and they'll be 3D, and eventually cut with a CNC(hence the constraints). The pattern is easy, the orientation, offset, size, etc. constraints are the big requirements though.
I'm confused. If I understand you, you want a honeycomb pattern applied to a cylinder. Are the hexagons padded out from the cylindrical surface, or are they pocketed (cut out) into the cylinder? In either case, how can a single sketch containing 2500 hexagons be useful here?

What I'd try is to create a section of cylinder with the appropriate honeycomb motif all around (2 rows of them), then create a Draft Array to repeat this section into a full length cylinder.
ehrichweiss
Posts: 11
Joined: Tue Jan 26, 2016 5:46 pm

Re: hide measures

Postby ehrichweiss » Fri Aug 19, 2016 3:51 am

NormandC wrote: I'm confused. If I understand you, you want a honeycomb pattern applied to a cylinder. Are the hexagons padded out from the cylindrical surface, or are they pocketed (cut out) into the cylinder? In either case, how can a single sketch containing 2500 hexagons be useful here?

What I'd try is to create a section of cylinder with the appropriate honeycomb motif all around (2 rows of them), then create a Draft Array to repeat this section into a full length cylinder.
I like your idea but here's the (potential) problem with that. When you look at how a honeycomb pattern is created, There are no horizontal or vertical breaks/spaces in the pattern where one can cut those cells out with a straight line. See the image below. There's not really a good way to cut the pattern without cutting 50% of the cells in half and even though they match up perfectly, if FC doesn't handle that correctly then I risk having some weird gcode at the "seam" and that's what I've been trying to avoid. I could do this with something like the pic below but the CAM programs I have cut ever so slightly jagged edges on each of the hexagons(no matter how high the resolution is, I'm guessing due to the pixels) which gives me a gcode file around 11-25mb which is INSANELY huge for gcode. And none of the CAM programs I have accept SVGs. Why? I have no idea, though maybe I'll search for a SVG to gcode converter, use that on a plane in a seamless pattern, and then use my wrapper to do the rest. That wouldn't make it quite as parametric but I could automate that pretty easily I think so maybe it wouldn't matter, and at least that way I'd only have one potential "seam" line instead of hundreds or thousands. I will probably try that really quickly because the sooner I can cut, the sooner I can afford to spend the time working out a more parametric method.


Image
User avatar
quick61
Posts: 3793
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

Re: hide measures

Postby quick61 » Fri Aug 19, 2016 1:37 pm

Inkscape has a CAM plugin that will do SVG to Gcode. Shapeoko has a page on their Wiki that lists other helpful tools for Inkscape as well.

Mark
This post made with 0.0% Micro$oft products - GOT LINUX?
ehrichweiss
Posts: 11
Joined: Tue Jan 26, 2016 5:46 pm

Re: hide measures

Postby ehrichweiss » Fri Aug 19, 2016 4:49 pm

quick61 wrote:Inkscape has a CAM plugin that will do SVG to Gcode. Shapeoko has a page on their Wiki that lists other helpful tools for Inkscape as well.

Mark
Yep, I just found that particular Shapeoko page and have been testing it out. It appears to produce a MUCH smaller gcode file. I may have solved my problem for now though I do want to concentrate on the CAD aspect of this...but maybe that's for another time.
User avatar
DeepSOIC
Posts: 6586
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: hide measures

Postby DeepSOIC » Fri Aug 19, 2016 4:59 pm

ehrichweiss wrote:Draft Array, and Part Design's Linear Pattern have their own little limitations on how I can put these hexagons on the cylinder
Hi! I host Lattice2 add-on workbench aimed at arraying. Although I may be too difficult for you at the moment, and I feel like Draft Array is perfectly adequate for the problem. But I haven't quite understood your problem, so I recommend you start a new thread to discuss how to create your model efficiently.
ehrichweiss wrote:BUT if I Pad the original hexagons then it takes the whole object(not just the hexagons)
That's by design. Use Part Extrude instead to get JUST the result of extrusion without the object the sketch is attached to (aka mapped).
ehrichweiss
Posts: 11
Joined: Tue Jan 26, 2016 5:46 pm

Re: hide measures

Postby ehrichweiss » Sat Aug 20, 2016 12:30 am

DeepSOIC wrote:
ehrichweiss wrote:Draft Array, and Part Design's Linear Pattern have their own little limitations on how I can put these hexagons on the cylinder
Hi! I host Lattice2 add-on workbench aimed at arraying. Although I may be too difficult for you at the moment, and I feel like Draft Array is perfectly adequate for the problem. But I haven't quite understood your problem, so I recommend you start a new thread to discuss how to create your model efficiently.
I think I have your workbench installed. IIRC I loved it but had issues with it but that's been several months since I last used it so I cant' say much about it. I've started a couple and hadn't had much luck until...........
ehrichweiss wrote:BUT if I Pad the original hexagons then it takes the whole object(not just the hexagons)
DeepSOIC wrote:That's by design. Use Part Extrude instead to get JUST the result of extrusion without the object the sketch is attached to (aka mapped).
OMG, you just solved my problem with a single sentence. It's too late for me to name my first born after you but I still give a huge thanks for that.
Last edited by ehrichweiss on Sat Aug 20, 2016 2:32 pm, edited 1 time in total.
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: hide measures

Postby NormandC » Sat Aug 20, 2016 12:42 am

ehrichweiss wrote:It's too late for me to name my first born after you
:lol:
cox
Posts: 963
Joined: Wed Nov 26, 2014 11:37 pm

Re: hide measures

Postby cox » Sun Aug 21, 2016 7:16 pm

This seams [SOLVED] but reading the former posts I remembered a cool software to wrap g-code and more http://www.scorchworks.com/Gcoderipper/gcoderipper.html. Could come in handy so.me time
Need help? Feel free to ask, but please read the guidelines first
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: hide measures

Postby NormandC » Sun Aug 21, 2016 8:47 pm

cox wrote:This seams [SOLVED]
This needs clarification: the original topic (which is about hiding constraints while in sketch editing mode) is not solved, it's the off topic one resulting from my questions to ehrichweiss that appears to be.

MODS: would it be possible to split this talk on repeating hexagons into a new topic? I figure it could be split starting from this post: viewtopic.php?f=3&t=13405#p134659

Thank you.

P.S. I would like for this off topic discussion to continue, because I still have a few questions for ehrichweiss, and maybe a few suggestions as well.