MoI discussion forum
MoI discussion forum

Full Version: The script for chain

Show messages:  1-20  21-40  41-60  61-80

From: krass
3 Aug 2013   [#1]
Dear Michael and colleagues!
Unfortunately I did not even mathematician and programmer, so do not judge strictly what I wrote below.
So, the idea of the script that generates a chain of order parameters. In the picture I wrote as it could be.
I have a question - how much is achievable? And - if it is real - can be any of the specialists would write such a script?
I think it would be interesting to many.

Please do not judge me harshly if I wrote something funny or wrong in terms of design and algorithms.


Image Attachments:
chain_script.jpg 


From: Andrei Samardac
3 Aug 2013   [#2] In reply to [#1]
Script would be good, but you can make everything by hands) This chain I made using Aray -> Curve. 3-Minutes work :)


From: Andrei Samardac
3 Aug 2013   [#3]
Krass,
This is video you requested:



From: krass
3 Aug 2013   [#4] In reply to [#3]
to: Andrew
As an option, Yes. It`s work.
But this does not mean that it is the fastest and graceful option ;))
From: Andrei Samardac
3 Aug 2013   [#5] In reply to [#4]
Good man, than you have to wait for script :)
From: Andrei Samardac
3 Aug 2013   [#6] In reply to [#5]
And just thought, there is a great amount of different chains for example

sea chain:

https://www.google.com/search?q=%D1%86%D0%B5%D0%BF%D1%8C+%D0%BC%D0%BE%D1%80%D1%81%D0%BA%D0%B0%D1%8F&source=lnms&tbm=isch&sa=X&ei=EeT8Ub3sKYaJOMu6gdgH&ved=0CAkQ_AUoAQ&biw=1097&bih=559

Or jewelry chain

https://www.google.com/search?q=google&source=lnms&tbm=isch&sa=X&ei=wOX8UeWqBoiPO-a0gegH&ved=0CAkQ_AUoAQ&biw=1097&bih=559#tbm=isch&q=chain+jewelry&spell=1&sa=X&ei=xuX8UdK0JYavO53ygKgI&ved=0CEwQvwUoAA&bav=on.2,or.r_cp.r_qf.&bvm=bv.50165853%2Cd.ZWU%2Cpv.xjs.s.en_US.seW1cfrvSKg.O&fp=9b5cd291079d5d4a&biw=1097&bih=559

You have to talk to programmer to make it more complicated if you want have universal script not just basic chain.
From: krass
3 Aug 2013   [#7] In reply to [#6]
Andrew, my dear colleague, I give up!
You no longer have links to pictures - I KNOW what are the kinds of chains)))
Let's just listen to other lovers of modeling and scripting, right? ;))
From: Andrei Samardac
3 Aug 2013   [#8] In reply to [#7]
krass,
Yep man :)
From: bemfarmer
3 Aug 2013   [#9] In reply to [#1]
A previous chain link:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4416.3
MoI3 has the Twist command.
I recollect seeing a chain calculation program in some other language.
-Brian
From: bemfarmer
3 Aug 2013   [#10] In reply to [#1]
A script looks relatively easy to do, but doing a chain manually is also easy.
Flow works well to bend a linear chain array to a catenary curve.
If the chain profile is square-ish, not sure how it would come out.
From: krass
3 Aug 2013   [#11] In reply to [#10]
To: bemfarmer. You was superb and well-made chain! Respect!
If I was a programmer, you probably would. But alas, I am a designer and can only draw a picture of their thoughts ;)))
From: Michael Gibson
3 Aug 2013   [#12] In reply to [#1]
Hi krass, many of the steps that you list are pretty well covered by existing tools.

For example to make the width, height and corner radius parts you can just use the already existing Draw curve > Rectangle command, it allows you to enter width and height there and if you enable the "Rounded corners" checkbox it will allow you to specify corner radius in that command as well, that should cover your steps #2, 3, and 4 right there.

For the thickness of the chain link, just draw a circle of your desired radius off to the side, make sure it is outside of the bounding box around the rounded rectangle. Then you can select the circle and run Construct > Sweep and select the rounded rectangle as the rail path and you will then have your link.

That's already so quick as it is with existing tools that you would only be saving a couple of seconds by having a specialized plug-in script to do it... Are you making a whole lot of chains all day long for some special purpose where saving a couple of seconds might be helpful? Because if you're only doing it here and there even though it would be a fun thing to have it would end up taking quite a bit longer to build and test the script than the amount of time that you would be saving if it's only for occasional use.

- Michael
From: Michael Gibson
3 Aug 2013   [#13] In reply to [#12]
Also if you want to streamline the steps you can use the Pipe plug-in to avoid having to draw a circle separately, you can get the Pipe plug-in here:
http://kyticka.webzdarma.cz/3d/moi/#Pipe

- Michael
From: krass
3 Aug 2013   [#14] In reply to [#12]
Michael, thanks for such a comprehensive and detailed answer, I'm touched!
Of course I don'T "do chains all day" :))
And, nevertheless, I do not think that you here present, script writers, all the day engaged in" gears or thread or the creation of nuts or extruded tubes.

Of course all that I described above, you can do once and forget about it.
Also, as the gear, nut, bolt, spring, hose or something else.

Then why there are scripts? ;))
Or actions in Photoshop? Or macros in other programs? Why all this?
All, all you can do without them, right? ))

PS. This is just my private opinion is not claiming anything more))))
From: Michael Gibson
3 Aug 2013   [#15] In reply to [#14]
Hi krass, it would definitely be cool to have a script for it, unfortunately it's more time consuming than what you might think to create those scripts so right now I myself only really have time to do them when they'll help save someone a bunch of time.

In the future at some point I'll probably be able to spend some time just making scripts for fun...

In the meantime if you want to undertake learning how to create those kinds of scripts yourself, I can try to help you along if you get stuck!

If some script like this would save you some significant amount of time beyond just a convenience or "cool" factor, then make sure to let me know that is the reason why you need the script...

- Michael
From: krass
3 Aug 2013   [#16] In reply to [#15]
Michael, thank you very much, but - I am sure - you and I have enough worries without that and still teach me scripts!
Especially because there is quite keen enthusiasts who may be try to implement my idea.

And I learn skrtptam - I'm afraid nothing will happen.
Not my way, alas.
Very badly in school, so with mathematics and programming is not friends, alas;)) (joke)

And forgive my terrible English, it's Google translator;))
From: bemfarmer
4 Aug 2013   [#17]
- krass
Here is a quick htm file for a chain_link_maker.
You could process the numbers and feed them into a rounded rectangle factory...

There are several ways to accomplish tasks in MoI. Pipe, array, unwrapcurve, and flow would be very helpful, so you would have
to implement several factories.

I think that I would rather spend my time on other projects. :-)

- Brian
Edit: deleted obsolete file
From: krass
4 Aug 2013   [#18] In reply to [#17]
To bemfarmer:
Thank you so much for your help, I will understand!
And what to do with the file to make it work?
Copy this html-file in the /commands and assign a "hot key"? Or something else?
From: bemfarmer
4 Aug 2013   [#19] In reply to [#18]
- Krass
You would need to write several dozen lines of javascript, to apply the numbers to the appropriate factories.
In the MoiWiki, under scripting, the MoI Javascript API documentation by David Morrill describes the factory inputs.
Opening various existing MoI scripts from the MoI command folder and the forum, in a word processor, studying them,
and modifying them, is one approach. The ToroidalHelix script provides a "pattern."
Since the several rectangle scripts, such as RectCenter and GetRectRoundCorner are designed for interactive use, and
so have extra code, you would need to tease out the portions needed to set up the rectangle factory numbers.
This would create the centerline of the link. Then repeat the process with extracts from the Pipe script, then the array script,
and the Flow script, etc.

Using unwrapcurve on your path curve may provide its length, in order to calculate how many links are needed +/-.

Occasionally an interactive script does not have the "handles" needed to work in a non-interactive script...
I am an amateur programmer, so anything I say may be incorrect. :-)
- Brian
From: krass
4 Aug 2013   [#20] In reply to [#19]
Brian, thank You all so thoroughly explained.
There is one problem - I'm NOT a programmer )) And nothing will be able to write in either Java code, not with any other. I can only draw, because I am an artist, designer )))
Can I copy and paste it into the desired place in the file script - and then use it in their work. This I can. But write scripts does not work ))
Would be familiar with programming - of course I would be all for a long time had composed. ))
But thanks for the support and advice! ))

Show messages:  1-20  21-40  41-60  61-80