Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Nested circle pattern with diameter increase reducing for each instance?


Carbonwerkes
 Share

Recommended Posts

Hey guys

Hopefully not a stupid question- there are many ways to accomplish what I want to do in my CAD package via native or equation-driven functions- but I cant find one in MC.

Im looking to create a pattern for use in texturing a surface. The pattern I want is a series of nested circles. Scale works fine for one approach- where you are increasing or decreasing diameter of each instance, but the limitation seems to require this to happen in the implied direction (the radius multiplier requires that a <1 value means circles are nested internal to the initial geometry etc).

Im looking to do a hybrid, where for example an initial circle of 1” dia would be patterned such that the next might be 1.1”, then 1.18, then 1.24, then 1.22, etc, where the pattern is expanding in diameter on net, but the increase in radius in real terms is decreasing for each instance.

Is there any simple way to create a sequence of geometry like this, where the true radius is changing (I don’t want to just replicate a curve of a fixed geometry- I need each curve profile to have a shared focal point)? I can do this manually, but it would take a lot of time, and adjusting the pattern to suit the surface it will be applied to would be hellish.

Best

Link to comment
Share on other sites

Howdy-

 

Unfortunately, there doesnt seem to be a factor to apply to stepover in Multipass. This does exist in Lathe, but Im not aware of anything like that in Mill. The goal isnt just concentric- but also a reducing value of the radius increase with each larger instance.  I dont want to do this in CAD and import- partly because I have really bad luck with pulling in DXF/DWG curves while retaining anything like the original spline geometry, and partly because making changes to suit the object to which this pattern will apply are difficult to evaluate in CAD (not simple to do simulation of a ballnose vs bullnose vs whatever, with some 4th axis bias etc).

I tried to upload an example image, but I get an error 200. Often I see that with a file too large, but this is a 60kb jpg. Tried png- same error.

But I found an example which is similar to my goal. Mine is opposite- a spacing that decreases with increasing diameter- but the concept is the same-

ManualDraw.JPG

Link to comment
Share on other sites

This problem interested me and I had some time tonight, so I made a NET-Hook that should create the pattern you want.

How do you want to define the difference between the arcs?  Right now I have it working off a percentage; if you enter 110 in the radius change textbox, each circle will be 10% larger than the last.  If you enter 90, each circle will be 10% smaller than the last. 

ccUI.png.5522144bb787bf3207baddc8c4eee53c.png

Link to comment
Share on other sites

Hi Jeff

Firstly, very decent of you to invest some time and horsepower to develop a utility for this challenge. My experience with the Net-HOOK interface is zero, and my C skills are weaker than they should be.

As regards the GUI and functionality, seems like you have it nailed here. For me, the goal is just to have some control over the rate of change in the incremental radius. So long as the result is just a series of wireframe circles on a plane I can assign to a level, and then project to a 2/3D face, Im a happy (and grateful!) guy.

Hopefully the enhancement can be incorporated by CNC Software as native to the Scale function, so that it could be applied to other types of geometry (I can see how this could be useful with elliptical shapes and more basic geometry- at least for people who are doing some texturing/surfacing).

Thank you so much for the effort in this- it will save me days of struggle with the net-hook interface.

Link to comment
Share on other sites

Hi Jeff

I misunderstood your post with the Hook GUI shown. I looked at the GUI, and assumed we were talking about functionality not available in the native function. I should have read your summary notes more carefully.

So yea, the Scale function already behaves as your Hook seems to.

What Im after is scaling the delta between instances, not scaling the diameter directly.

So, for a diameter of 1” and a factor of 80%, you would end up with diameters that would scale as: 1, 1.8, 2.44, 2.952, 3.3616, 3.6893 etc. Maybe there is a simpler math expression/function to deal with this type of thing (some type of exponent function), but for me, a simple and brutish method would just define a couple of variables- one for the last radius/diameter, and one for the last calculated delta. That way, each instance is only the last dia/radius value + the last delta * the global scale factor. Each variable takes on these new values, and the cycle continues for n instances as defined in the gui. The nice thing about this approach is that for values < 100%, you have a decreasing rate of change, and for values > 100%, an increasing rate. Scale already supports the later, but nice to have if you are just trying to experiment with patterns via a single tool.

Also seems plausible to add a direction toggle (outwards or inwards growth), but I believe the effect can be achieved with some thought on starting radius and scale factor regardless.

Link to comment
Share on other sites
  • 4 weeks later...

Hi Jeff

Yes- that is correct. So for any value < 100% and greater than 0%, you have a decreasing incremental change in radius increase per instance. For >100%, you have the existing scale function.

Im very sorry to have been so delayed in response- had some other things come up which kept me sidetracked a couple weeks. But yea- if you can implement this approach, it will yield a capability that I dont believe can be forced via any native function, and it would be very helpful for pattern generation. And, it would save people like me who are looking to do patterns/texturing natively a ton of time. Maybe the programmers will at some point include a dialog box to permit this capability in the existing scale function-

Best regards-

 

Link to comment
Share on other sites

Hi Jeff

That seems to work well- at least on a couple of basic trials. Thank you so much for this. Im not a  C++ guy, but at least I have the source now so i can browse though it and see how the calls work, in the case I need to do something a little more strange (i.e. elliptical stuff- not sure if that can be called programmatically, I assume so).

Again- thank you- huge time saver for me. I hope others can find application for it also-

Best

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...