Punch holes
 1-12  13-32  33-52  53-72  73-85

Previous
Next
 From:  Michael Gibson
2749.33 In reply to 2749.31 
Hi Angelo,

> Not exactly, I mean objects in different parallel planes uneven spaced.
> And then you could distribute by center or entering some value for spacing.

In that case, for the situation where you were concerned about possibly having hundreds of objects, you would still need to ensure that each one of those objects was placed at a unique location separate from all the others.

Since you have to move each object anyway, you can create some point markers beforehand at the proper distances, and just place each object in its correct position right when you first move it. I think that would actually help to ensure that you've got each slice in a unique location too.

Here's the way that would work - say you have these slices:



Create a point object (Draw curve / More / Point) in that plane:



Replicate the point object using Transform / Array / Dir, for the second point you can enter in a distance constraint by clicking in the "d" field in the bottom toolbar (beneath the XYZ input and to the right of the view tabs) to control the distance between each of the points:



Then to place a slice, select it:



And then run Transform/Move. For the base point, pick the original point, or if it is located at 0,0,0 you can type in 0 <enter> for the first point:



For the offset point, pick the target marker:



That will help to ensure each slice is separate, and also place it into its correct position all at the same time. To repeat, you adjust the selection after you finish one Move, and then use Right-click inside of a viewport to repeat the Move command.

Also it may not be a bad idea to delete the target point you just used, so that you know that the last one is always the new target.

Later on if you want to adjust the spacing, that is possible using the Transform / Scale / Scale1D command.

Go to a side view, and pick the base point of the scale to be at the base point location, pick the first reference point of the scale to be on the first section, and then the final reference point of the scale will adjust the spacing for you, like this:



That works because Scale1D only alters things along one direction. If that direction is normal to a planar object's plane then it will have this effect of moving the object by a scale factor towards or away from the scale origin.


I hope that helps!

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Grendel
2749.34 
Here is one way to quickly automate the bores for your wire to pass through the plates. You will need the plugin mentioned in this thread: http://moi3d.com/forum/messages.php?webtag=MOI&msg=2755.1

1- draw a straight line on center of your skull profiles to trim them in half. I noticed your profiles are not symetrical but it is close enough.

2- This will make a 2d point cloud for you to use the copy to points script mentioned above.

3- delete half of your skul profile for easy selection later.

4-5 add a cylinder on center with a large enough diameter for your wires to pass through. These will be the holes you will be punching through the dividers.

6-7 select all your profiles and turn on "show points" and then select all the points on the centerline and copy and paste them.

8- select all your profile lines and then hide them. Now you see the point locations on your plane.

9- run the "copytopoints" script selecting the cylinder and the points and it will replicate the cylinders on all the points.

10-11 You now end up with this result and you start booleans to remove the cylinders from the plate leaving result 11.








I hope this helps. This is kind of similar to kids putting lots of nails in boards and wrapping different color string around them to make geometric patterns.

EDITED: 6 Jul 2009 by GRENDEL

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2749.35 
So some solutions :)

PS @Angelo: Nice site's Gallery!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.36 In reply to 2749.1 
Hi Angelo, it occured to me this morning that this process of moving slices into their precise target location can be mostly automated pretty easily.

I've attached a custom plug-in command here called MoveSliceToPoint.js which can be used for this.

To install it, download it and copy it into the \commands sub-folder inside of the MoI 2.0 beta's main installation folder (it may also work with v1, I have not tested it there though). Then set up a keyboard shortcut and for the command put in: MoveSliceToPoint

Now when you activate that keyboard shortcut it will launch the command.


This command expects a setup of point objects like this:




You can draw a point object using Draw curve / More / Point, and then make a duplicate of it at your desired spacing using Transform / Array / Dir, use a distance constraint by using the "d" field in the bottom toolbar to control the spacing for the array.

It assumes that the point object closest to 0,0,0 is the starting point that is on the plane of the objects, and the point object furthest from 0,0,0 is the target point.

To use the command, select the outermost curve (the one that should be moved to the end), like this:




And then press the keyboard shortcut to launch the command. It will move the selected object to the furthest target point, and then remove that target point:




So because that target point was removed, now it is all set up to select the next curve and repeat the command by a right-click to move it into place, and so forth. So you can rapidly move a bunch of slices into place with this method by just by repeated select + right click, select + right click, etc...


This should help to greatly speed up the arrangement of slices like this, here is a screencap of it in action:



I hope this may help out the next time you have to arrange a large number of slices like this.

- Michael

EDITED: 6 Jul 2009 by MICHAEL GIBSON


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2749.37 In reply to 2749.36 
Does it possible to have a script who make that?
of course curves lines given beeing as on your drawing in order of size ;)

In sketchup i have made a script (my first ruby script with some helps :) who can make that :)
http://forums.sketchucation.com/viewtopic.php?f=180&t=20313&start=0&st=0&sk=t&sd=a

EDITED: 6 Jul 2009 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2749.38 In reply to 2749.37 
If this is going to be done with automation then it is not a 3d operation. It would be done in 2d. Getting a "point" where the wire intersects each side of the plexiglass would be what is required. One point = Drill. Where there is a diaganol cut, the 2 points for each side would be connected then the "slot" would be created with a profile cut. If this was my stategy, I would ask if there was a script to connect 2 points with a line to speed this part of the process up. So in summary:

Can the Isect command place a point where the wire enters and exits the solid?

Can I automatically connect 2 points?

These along with the previous "spacing script" Michael made would create this part "as is".

I would then bring that file into my cam package and drill all points, then profile cut all the line entities.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.39 In reply to 2749.37 
Hi Pilou,

> Does it possible to have a script who make that?

Sorry, I don't understand.... What is it that you want the script to make?

If you want to move slices into different parallel locations, then yes, that's what the script that I just posted can be used for.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  angven (ANGELO)
2749.40 In reply to 2749.36 
Hi Michael, superb this plugin!
What happens if I have the slices not all near the starting point and beneath the target point?
Let's say if I have a compressed target space? A space smaller them the space occupied by the unarranged slices?





(I'm thinking to put some mention to MOI, or at least at you, on my exhibit catalog)

Angelo
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2749.41 In reply to 2749.39 
< What is it that you want the script to make?
just about that ;)
curves ordered on a line as like your animation, because here you have 10 lines but if 500? :)
(like in a map of terrain levels)

EDITED: 6 Jul 2009 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  angven (ANGELO)
2749.42 In reply to 2749.34 
Hi Grendel, thanks for this suggestion. I'm trying it right now. Perhaps I'll shave some slices before.

tx
Angelo
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.43 In reply to 2749.38 
Hi Burr,

> Can the Isect command place a point where the wire enters and exits the solid?

Yup, the Isect command will generate points where a curve intersects with the surface skin of a solid, so for instance with this curve and solid:




If you select them both and run Construct / Curve / Isect, you will get these 2 points as the result:




> Can I automatically connect 2 points?

It would be possible to make a script that would do this, let me know if you want me to cook one up.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2749.44 In reply to 2749.38 
Well a quick test showed I could use the trim command and just remove everything but the inner piece of wire. Left with all my profile cuts or drill points.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2749.45 In reply to 2749.43 
>>>It would be possible to make a script that would do this, let me know if you want me to cook one up.


Well I have thought I wanted one of these but was trying to think how it would handle a multiple selection. If you think it could deal with something like I described faster than just using the line tool with end snaps, it may be very handy to start using points more as a construction tool.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.46 In reply to 2749.41 
Hi Pilou,

> curves ordered on a line as like your animation, because here you have
> 10 lines but if 500? :)
> (like in a map of terrain levels)

Yes, that's actually the entire purpose of that script, to make it easier to handle a large number of items such as 500 lines.

You just use the same process shown there, select one + right click and repeat.

That's what is nice about that script, it allows you to arrange items with only 2 clicks in the same area of the screen for placing each one, it's much much faster than moving the mouse around to snap on to the base and target point for each item...

As you can see from the screencap, it only takes about 1 second (maybe even less) to place each item with this script helping you, so placing 500 items would be roughly 500 seconds of work = roughly 8 minutes of work instead of much longer than that...

I don't think there is much possibility for a script to automatically determine which pieces are supposed to go to which slots without selecting them though, that would require some kind of advanced pattern recognition or artifical intelligence for the script to analyze the curves and try and understand which one was supposed to be the next in the sequence. Sometimes there may be kind of "islands" where there are more than 1 thing that should go to the same slot as well.

The script is not meant to make 500 curves instantly go into place with one single click, you still have guide the process with selection but the script will help speed things up quite a lot compared to doing all the manual transformation steps that would otherwise be required.

Pilou, you're just too lazy and don't want to do any work at all! :)

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.47 In reply to 2749.45 
Hi Burr, yeah for just connecting 2 points just the line tool with 2 end snaps is already pretty quick for that.

An automated connection would start to become more useful if it was not just a "connect 2 lines" command on its own (which is pretty easy though, I can cook that up for you if you want, just let me know) but rather if it was some final step built into a batch operation.

But yeah the more difficult part is for the script to decide what to do with more than 2 points. Should it make a polyline? Should it try to group them into sets of 2 points that are closest to each other? That may be something that would be set up for a particular script targeting a specific situation (where it could make a better decision about what to do specifically) and probably not a very general purpose tool...

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2749.48 In reply to 2749.46 
You right :)

We will always that the computer makes all the work :)
---
Pilou
Is beautiful that please without concept!
My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.49 In reply to 2749.40 
Hi Angelo,

> What happens if I have the slices not all near the starting
> point and beneath the target point?

Well, it will be the same as if you used the "Move" command and used those 2 points as the base and target point for the Move.

Basically the distance between those 2 points is used as the distance to translate the curve.


> Let's say if I have a compressed target space? A space smaller them
> the space occupied by the unarranged slices?

Well, it's best if all the unarranged slices are on the same plane to start with, that makes it easy for the base point to be in that plane as well.

So that means all the unarranged slices would be at 0 distance between them already, so you can't get any smaller than that! :)

But you could adjust the points to have a different spacing in them, like do some scaling of different sections to compress or expand them. The script doesn't really care if the target points are evenly spaced or not, it just moves each slice to that furthest point location.

Please let me know if this doesn't make sense.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.50 In reply to 2749.40 
Hi Angelo, also one other note - if you have a series of planes and you want to compress them back into a single plane, you can do that by using the "flat" snap with the edit frame scaling grip from a side view like this:








Also if your planes are angled so you can't easily get to a side view you can also use Transform / Scale / Scale1D which will allow you to pick 2 points to define the flattening direction, then type in a scale factor of 0 to flatten in that direction.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2749.51 In reply to 2749.50 
About the plug seems that curves and points can be anywhere and selected in any order ;)
---
Pilou
Is beautiful that please without concept!
My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2749.52 In reply to 2749.51 
Hi Pilou,

> About the plug seems that curves and points can be
> anywhere and selected in any order ;)

Yes, that's true - but you will probably get hard to predict results with random placements.

The script is basically just a shortcut for doing a Transform/Move between the base point and target point.

Just as there are not any restrictions on where an object is located, or where the base or target points are in Transform/Move, there are similarly no limits for the script.

But to get the most expected behavior, you would probably want to have the curves stacked up in the same plane, and the base point located also in that same plane. That will make for a more predictable offset distance to be used for each one, just like Transform/Move can be easier to control if you snap the base point of a Transform/Move on to the object rather than way off in space somewhere.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-12  13-32  33-52  53-72  73-85