Dynamic component and curved path
-
Hello!
Sorry Gaeius, I didn't see the subforum... Thank you for putting the post in the right section! ^^I progress in the reflexion, and I have found the equation for spreading the seats along an arc : it works on excel for the moment. I use the parametric equation of a circle which is :
x=a+r.cos(O)
y=b+r.sin(O)It is always a little bit hard in a linear system because I have to set the spacing between the seat and the armrest. I am not so far from the solution I think...
I'll keep you updated on the progress!
-
No problem at all - indeed it is not displayed on the forum index (our bad, I know). I hope you get better support here.
-
New problem!
I want the spacing between my seats that are duplicated either variable for my dynamic component takes exactly the length I want. I do not want it shrinks or grows ...
My approach for now is to give the user the opportunity to enter a minimum spacing between seats, and then the modulo copy number is distributed between the seats created ... However, the component does not always take the exact value that I ask ...
Does someone have any ideas?
Thank you!
Valentin -
It would be easier to help if we could see where you are with the actual DC.
Best,
Jason. -
That's right!
Here is my file : Seats.skp
The problem is that the DC doesn't take the right lenght, and when there is few seats, spacing is too big... and it really doesn't work with one seat! -
Before I get too much into the DC functions I will say you can save quite alot of files size here by going to the components dialog and using the fly-out menu command "purge unused" and then do the same in the material dialog... this will drop the file size considerably and save alot of bandwidth.
Best,
Jason. -
Is there a reason you want the seats to be separate from the arms? The reason I ask is this would be much more straight forward if they were all one component and under one set of calculations.
Best,
Jason. -
Thank you for the tip of the size! ^^
Yes, it is necessary to separate the arms from the seats. The arms have to be exactly in the middle of 2 seats... I know it do a lot of computation, but I can't do otherwise...
-
I had to clean this up a bit, hopefully it is what you were looking for... I tried to make the naming make sense so you could follow the logic of the changes -- this was done through a combination of changing the axes position for each component and placing the grey arms within the repeated seat as a child.
Everything is based on the placement aid component so if you do not want to see it you should hide it, but not delete it.
Best,
Jason.
-
Yes, this is what I did at the beginning. But in fact, the logic of the spacing is
"seat - spacing - seat - spacing - seat - etc."
and not "seat - spacing - arm - spacing - seat - spacing - arm - spacing - seat - etc.".
The length Y of the arm don't have to be count in the total lenght of the main component.The other problem is when I want a length equivalent to 4.5 seats for instance. SU shrinks to 4 seats or grows to 5 seats. But how can I have a lenght of 4.5 seats, with 4 seats, and the 0.5 seats remaining distributed in the spacing between the seats?
I think your idea of using the aid to positioning is very good. I will think with this!
Best,
Valentin -
I think I understand better what you are aiming for now -- you want to take the "extra" space the user has defined and use it to "fill-in" an equal amount of spacing between each chair... and that could be any number and the user defined amount is simply a minimum?
If that the case an extra custom attribute called "extra_spacing" could be an equation that looked like this:
= ((Total width-(copies* initial_spacing))/copies)+initial_spacing
take that number and use it for the actual spacing of the copies.
Would that work for your needs? I'll try it when I get to the studio.
I'll say right up front you might find it better to set up the total length as a numerical value input via the user (via component options) rather than trying to use the scale tool.
Best,
Jason. -
Yes! That sounds pretty good!!! The value enter by the user is effectively a minimum...
I will try it tomorrow! I hope it will work.
Thanks a lot! -
Here's a version that works (I think) the way you want it -- I had to stick a few logic functions in there and a maximum value the user can input (just like the minimum value)... which was an attempt to keep the weirdness at bay when you get down to 1 or 2 chairs (to that end it was only partially successful).
But it does scale nicely with the arms spaced evenly and if you change the minimum value is adjusts accordingly.
I also spread out some of the equations to make it easier to read and change (if need be).
I'm sure it could be made better, if somebody else wants to jump in as well.
Hopefully this helps.
Best,
Jason.
-
Hi!
I've just found the solution to my problem! Still in a linear system, but it works perfectly!
In fact, users edit the number of seat (it is simplier), and the distance to the bench. All is put just with divisions of the total length of th DC.I have to try it on a curved path now!
Thanks a lot!
Best,
Valentin
-
Your newest one doesn't work quite the way I though it should on my machine but if it's what you wanted then I'm very happy for you
Best,
Jason. -
I have done it with my new ModelFunction 2.0 that plan to be released very soon. The new version keeps the design in a component quite similare to the SU dynamic component and includes some other improves.
Attached file and video capture
[flash=540,360:tqny54kg]http://www.youtube.com/v/oi_NNOGIZVk[/flash:tqny54kg].
-
Thank you for your contribution! It is interresting to see several methods to do that!
I had seen this tools, but I thought it wasn't as flexible as you present in your video
It is really interesting for curve path! I don't succed for the moment with DC...Nevertheless, I wonder if spacing between seats is adjustable?
Thank's a lot!
Advertisement