Personalization request

Next
 From:  falcon76
1724.1 
Hi all, I have some little question about personalizing the software.

1) There is a way for not retain the original object after a mirror ?
(I would lik to have a choise like in the rotate command "Don't make copies")

2) When I create a mirrored object and I rotate or move the original, the copy follow that one. How can I remove the link beetween the two (something like copy and not instancing)?

3) Stretch will never be a command in moi? I read some old post about it, but "hope is the last to die".....

4) A default setting in moi is select the original after a copy operation. There is a way for select always the last copy?

Thanks
Luca
  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)
1724.2 In reply to 1724.1 
1 if you do not need the initial object don't use Mirror but Move & Rotation

2 Disable History

3 Michael will answer you about that hot subject :)

4 What is the interest as Copy is a multiple action?

EDITED: 27 Jun 2008 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:  falcon76
1724.3 In reply to 1724.2 
1 It's not the same.

2 Ok. I don't know it. I have never used History before, sorry.

3 ;-)

4 It's only a way to don't deselect and reselct the last object. Not so important...
  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:  tyglik
1724.4 In reply to 1724.1 
Hi Luca,

add 1)
I guess there is no difference in the effect of ticking a check box "Don't make copies" on one side (or pushing Done when this option would be default) and clicking the Delete button after finishing a mirror command on the other - both are just one click.

Petr
  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)
1724.5 In reply to 1724.3 
It's the same for objects who have not hole oriented inside, for the rest you right it's not the same ;)


---
Pilou
Is beautiful that please without concept!
My Gallery
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:  Michael Gibson
1724.6 In reply to 1724.1 
Hi Luca,

> 1) There is a way for not retain the original object after a mirror ?
> (I would lik to have a choise like in the rotate command "Don't make copies")

I want to add an option for that in the future but for now like Petr mentions just hit Delete after doing the Mirror and that should do the trick for now.


> 2) When I create a mirrored object and I rotate or move the original, the
> copy follow that one. How can I remove the link beetween the two
> (something like copy and not instancing)?

Select the new copied object, and then run the Edit/History command, and click the "Disable update" button.

That will turn off history updates for that mirrored copy so changes to the original will not cause a history recalculation and update the copy anymore.


> 3) Stretch will never be a command in moi? I read some old post about
> it, but "hope is the last to die".....

It kind of depends on what you mean exactly by stretching. For example if you want to take an existing rectangle curve and stretch it out to a different shaped rectangle, that is possible to do by using Edit/Show pts to turn on control points, then window select 2 points and drag them over to the side to stretch out the rectangle. That will do what the AutoCAD "stretch" drafting type command will do if that is the type of thing that you are looking for.


> 4) A default setting in moi is select the original after a copy
> operation. There is a way for select always the last copy?

It is possible to set up a keyboard shortcut to select the objects that were created by the last command, would that help?

To do that, go to Options / Shortcut Keys, and add in a new entry with this as the command:
code:
script:var a = moi.command.lastCommandRevisionStart; var b = moi.command.lastCommandRevisionEnd; var objects = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.databaseRevision > a && obj.databaseRevision <= b ) obj.selected = true; }


It is also possible to actually customize how many commands work by modifying the command's script file.

I've attached here a file Copy_select_output2.zip which has a modified version of the copy command will will shift the selection to the copied objects like I think you are asking about. To install this, unzip it to get the Copy.js file, and copy that over top of the old version inside the \commands subfolder inside of MoI's main installation folder (like c:\Program Files\Moi 1.0\commands). With that update in place, your Copy command should now switch selection to the output objects when it is completed, does that help?

- Michael

Update: fixed mangled script for the "select objects created by last command" script.

Update2: fixed the replacement Copy command as well.

EDITED: 28 Jun 2008 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:  falcon76
1724.7 
1) Ok Michael, I know the trick, but I prefer to have that option. For example if I have a LOT of polygon to copy, I prefer to click that option, instead of delete those after.
2) As I already mention before I don't know about it, so you are fine.
3) I don't really understand the real problem with stretch in moi. I know that in some case, I make same boolean operation , and after that I cannot edit the result in moi. I know that could be difficult to handle, but I don't understand it...
4) For sure that helps a lot in my case. Thanks. I try it tomorrow but I'm sure that is what I need.
I want to say that I know that this personalization are probably not useful for a lot of people, but I really like the way that moi can be modified. So thanks Michael and thanks to all the other that are tried to help me in personalizing this WONDERFUL SOFTWARE.

Luca
  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
1724.8 In reply to 1724.7 
Hi Luca,

re: #1 - I was able to cook up an updated script for you for this one too. It's attached as Mirror_DeleteInputs2.zip - unzip it to get 2 files Mirror.js and Mirror.htm and same as the previous update copy them into the \commands subfolder in MoI's main installation folder.

That should then give you a new "Delete input objects" checkbox option which will show up when you are prompted to pick the first and second point of the mirror axis. If you check this option, then the original objects will be deleted when you finish the command like you are asking about.


re: #3 - you wrote:
> I know that in some case, I make same boolean operation , and
> after that I cannot edit the result in moi.

Could you please describe a little more about what kind of editing you are asking about? I mean like history-update editing where you edit the original curves and have like a lofted or extruded surface from those curves update, or do you mean editing control points of objects like turning on points for a box with Edit/Show pts?

There are different ways to "edit" objects in MoI and the answer will probably be a little different for each different editing method...

- Michael

(Update - fixed a problem in the mirror script, attached fixed version: Mirror_DeleteInputs2.zip)

EDITED: 27 Jun 2008 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:  BurrMan
1724.9 In reply to 1724.8 
I loaded this script set and got this:



Should I not be loading these things just to see and have the Added Functionality? Are tey specific to this user or "additions" to the functionality?

Burr

EDITED: 19 Jun 2012 by BURRMAN

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

Message 1724.10 deleted 27 Jun 2008 by TYGLIK

Previous
Next
 From:  Michael Gibson
1724.11 In reply to 1724.9 
Hi Burr - oops I accidentally left one line of script for something that is only for v2 in that version.

I guess I've got to be a bit more careful to test these scripts with v1 instead of only testing them in v2.

I've updated that previous message with a new attachment, Mirror_DeleteInputs2.zip - that one should now work.


> Should I not be loading these things just to see and have the
> Added Functionality?

You can certainly load them if you want, of course it helps when they work! :)

It's not a bad idea to keep a backup copy of the original version, like rename the old versions to Mirror_old.js and Mirror_old.htm, that way you can revert back to them easily if there is a problem with the new version like there was this time.


> Are tey specific to this user or "additions" to the functionality?

This mirror one is a pretty general addition since it is an extra option, but some things may be more of a change in behavior to suit someone's particular needs, like the previous "select output objects from the copy command" is probably more like that kind of a thing.

- 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
1724.12 In reply to 1724.11 
Hi Petr, by the way you are probably curious about the "stick to surfaces" mode thing that was that extra line for v2 (and was causing the script error in v1 since v1 does not know about it).

That is part of the new on-surface drawing for v2.

A few commands tend to work better with that if they set an option in their command script to sort of reduce the amount that they automatically adopt an object's plane as the construction plane.

Otherwise there was kind of a problem where something like a mirror of a box was getting a feeling of kind of sticking too much to the box's own faces instead of mirroring in the viewport's construction plane. This mostly applies to some transform commands.

- 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:  falcon76
1724.13 
Hi Michael and thanks for the UNBELIEVABLE support.

1) The modified mirror command it's perfect fot my needs. Thanks a lot!

3) Here I want explain my problem. I'm not an expert in moi and probably I make some stupid request or error, let me know if it happens too often....



I create the highlighted wall by extruding a profile. After I have created the hole with a boolean operation. How can I change the height of the wall without changing the elevation of the opening? After the boolean operation I cannot use "Show point" for moving down the top face.


4) I've installed the fixed command but it doesn't work (approximatly the same error already reported but in line 70) and with the shortcut key I receive this error:



Thanks for all your hard work.
I'm impatience to test the v2 version of moi.

Grazie
Luca
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:  Michael Gibson
1724.14 In reply to 1724.13 
Hi Luca, quick answer for #4:

Oops that script got messed up and partially converted to HTML (things like < converted into &lt; which is not good for code!).

Here is a proper version:
code:
script:var a = moi.command.lastCommandRevisionStart; var b = moi.command.lastCommandRevisionEnd; var objects = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.databaseRevision > a && obj.databaseRevision <= b ) obj.selected = true; }


But that thing is not actually the fixed command - that is a script that will select the objects that were created by the last command that was run. But you may find that useful in situations where you wished to have the output of a command selected when it was not by default.

The actual changed command was in the attachment "Copy_select_output.zip", which is a different thing than that that script - it is a replacement for the regular Transform/Copy command that should instead select the output objects when it is finished.

- 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:  falcon76
1724.15 In reply to 1724.14 
Hi Michael, now the select last created object script works.


The changed copy command in "Copy_select_output.zip" is not working in my PC.
This is the error message:



Bye
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:  Michael Gibson
1724.16 In reply to 1724.15 
> The changed copy command in "Copy_select_output.zip" is not
> working in my PC.

Oops again! It was the same problem as the replacement mirror I originally posted, it had one piece of the script that only works in v2.

I've posted an update in that message, there is a new attachment Copy_select_output2.zip - use that one instead and I think all your customizations and scripts should actually be working then... I hope so anyway! ;)

- 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:  falcon76
1724.17 In reply to 1724.16 
Thanks Michael, you are becoming my hero!

Luca
  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
1724.18 In reply to 1724.13 
Hi Luca, for your question #3, you wrote:

> How can I change the height of the wall without changing the
> elevation of the opening? After the boolean operation I cannot
> use "Show point" for moving down the top face.

Once you have done a boolean on an object, you will have surfaces in it that have "trimming curves" on them.

When you have a solid that has trim curve edges in it, you can't turn on control points for that solid directly, because it would be too easy to pull points for the different surfaces apart which would create gaps in what are supposed to be shared edges.

NURBS works a lot differently than polygons in this way - when you see an edge, it is not necessarily the edge of the "underlying surface" which is what you would control using control points.

I have tried to describe and illustrate this a bit on this FAQ question here.

That description may help show you more about how the NURBS objects are structured and why you can't just grab the points for any edge that you see and move them like you can in a polygon modeler. In a polygon modeler the edge is always the "end" of the surface, but in that FAQ illustration you can see how NURBS can have an "underlying surface". But it is also this concept of an "underlying surface" that makes booleans work a lot better on NURBS objects than polygon objects, because when objects cut on another, all the surfaces stay the same and just new trim curves on those surfaces are calculated. This helps keep surfaces more simple instead of having them fragment into a ton of little tiny shards like will happen with polygon booleans.


It is possible to turn on points for your object anyway, if you use Edit/Separate to break it into individual surfaces that are not joined to other ones. Then MoI will not prevent you from moving their points around and possibly opening holes between adjacent surfaces.

But a control point edit will probably not produce what you want there, because the holes cut in a surface are kind of embedded in the surface and will stretch when the surface is stretched.


Ok, to get more to the specific case you have here - if you want to shorten that wall you show there, the easiest way to do it in MoI is to draw a line in the Front or Right elevation view for where you want the new top to be, and then use Boolean difference to cut your wall by that line and then delete the top part.

To grow it elevation, select the top face and extrude it up, then select the 2 parts and use Boolean Union on them.

I would like to add some tools to more directly manipulate a face like you might be more used to (maybe you are more used to SketchUp?) but it will probably be a bit before that happens.

One other note - it is possible to actually erase the trim curves to go back to the underlying surface, here is a short tutorial on how to do that: http://moi3d.com/forum/index.php?webtag=MOI&msg=444.4 so you can do that if you want to completely remove a window or something like that.

Hope this 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
 From:  falcon76
1724.19 In reply to 1724.18 
Thanks again!

Now I'm starting to understand a bit better NURBS... very well explained!
Moi is my first NURBS modeler (don't know why but I don't feel comfortable with Rhino interface). I have always used CAD, polygonal modeller (Microstation, Autocad, 3DS Max ....), so I have to "change my way of thinking".
Now I'm very happy with the program (I stop boring you so you can work on V2)

Luca
  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