[Plugin] Mirror
-
@fletch said:
Hi TIG,
Thank you for sharing all of your wonderful talents. This + the imagetrimmer.rb are very nice.
I haven't had time to read this whole thread, so sorry if this issue has been mentioned before:
On my machine, when I have the toolbar for Mirror open, and I double-click a component or group to edit - it can take about 4-5 seconds to actually open the group or component. This was killing me until I tried just closing the mirror36.rb toolbar button. I downloaded the .rb file from this thread just tonight. I thought to close the toolbar and the problem went away. I would have no idea why. I have a shortcut assigned and don't need the toolbar anyway.Make sure you have v3.6 installed...
It might be because there's a context-menu too ?
To stop the toolbar being made at all you can simply move the button file 'MI.png' out of the ../Plugins/ folder and then there will be no toolbar as it only gets made IF the button's png is found.
To stop the context-menu item appearing you can open the 'Mirror.rb' file in Notepad.exe or another equivalent plain text editor [NOT a wordprocessor] and near the end of the code around line #376 there's this block of textUI.add_context_menu_handler do |menu|### v3.5 TIG #if Sketchup.active_model.selection #menu.add_separator menu.add_item("Mirror Selection"){Sketchup.active_model.select_tool(MirrorTool.new)} #end#if end#do menu###
change it so the UI.add..., menu.add... and end#do... lines all start with a #, thus
#UI.add_context_menu_handler do |menu|### v3.5 TIG #if Sketchup.active_model.selection #menu.add_separator #menu.add_item("Mirror Selection"){Sketchup.active_model.select_tool(MirrorTool.new)} #end#if #end#do menu###
- now there'll be no context-menu.
Having done this you'll only have the main Plugins menu item 'Mirror' to shortcut to.
Incidentally if you'd like the tool to appear in say the 'Tools' menu and be named 'Mirror' you can simply edit line #370
UI.menu("Plugins").add_item("Mirror Selection"){Sketchup.active_model.select_tool(MirrorTool.new)}
to read
UI.menu("Tools").add_item("Mirror"){Sketchup.active_model.select_tool(MirrorTool.new)}
- now there'll be no context-menu.
-
Thanks a lot TIG.
I was in a (rather) large file, and perhaps it was just a glitch happening with the machine/RAM/etc.
Everything seems fine today (with or without toolbar showing)... I do appreciate the info, however, as there are times I wish I could modify these things in some rubies. -
I confirm that circles get exploded in some cases.
Not when they are free standing, but when they are part of a face, like on top of a cube, yes.
Pretty annoying. -
Mario
I've tested what you say and can't get a circle or arc to 'explode' after mirroring
Are you using the latest version?
Can you supply a skp where you do get this issue, so that I can test it... -
Your gif doesn't auto animate ??
A face with edges should copy and mirror OK, loose edges/arc == edges ?? -
"Your gif doesn't auto animate ??"
you click on the image
when the circle mirror with your face, does not exploit the circle
When mirror only the circle, the circle is exploited -
@jorge2011 said:
"Your gif doesn't auto animate ??"
you click on the image...I know BUT it looks just like any other image so why would I want to click on it at all
A gif can auto-animate... so it's obvious what it is.
[<<<see my avatar ] -
Sr TIG, see this exampler
see this example.
Mirrors edge face ( copy good)/ edge mirrors only (copy explode edge)
-
sorry but I do not understand what you say.
Posted there again animated giff -
NOW it animates automatically... before it didn't!
You 'attached' the first one but the second one was 'placed-in-line as a linked-image' -
It's the way that Sketchup itself works...
Try this manual test.
Make a circle.
Group it - including its face in the selection.
Copy the group.
Edit it, you find that the circle remains a circle.Now make another circle.
Group it - this time excluding its face from the selection.
Copy the group.
Edit it, you find that the circle is now is pieces.Because Mirror has to make a group and copy it to do the scaling/mirroring then it will fail to keep the circle-ness of the circle if it has no face[s] selected with it in the group - exactly as occurs when you do it by hand
It's a shortcoming in Sketchup not Mirror...
-
@unknownuser said:
Are you using the latest version?
Can you supply a skp where you do get this issue, so that I can test it...Yep, 3.6, downloaded today.
Skp attached; just a box with circle on top.
Mac related issue ?
update : tested it on my Doze 7 vm, same problem.
update-2 : sorry, indeed mirroring the perimeter does explode it, mirroring the round face works fine. (I was working with hole in steel plates, so mirror before punch)
-
hi folks,
I have been using mirror.rb v3.6 without problems for a while... until today where i'm using SU8 on a windows 7 machine as opposed to the normal vista i used b4... now mirror does nothing & the following gobbldy gook appears in ruby console:C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/Mirror.rb;266;in `mirror' C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/Mirror.rb;178;in `onLButtonDown' C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/Mirror.rb;266
anyone have an idea ?
thanks -
You haven't posted the important part of the error message - it's probably the first line - saying something about 'group' or 'explode' [Mirror groups what it mirrors and then explodes it]...
This is suggestive of an unusual 'script clash'.
There was a similar situation with my 2Dfillet tool yesterday - which turned out to be a clash with SketchyPhysics3. This link http://forums.sketchucation.com/viewtopic.php?p=345427#p345427 has a replacement file [zipped] to go ito the SP3 folder that redoes the ill-advised method changes that SP did to the existing base classes like Group etc, whilst still letting SP work OK. No clashes for ages then two come along at once!
Hopefully this'll fix the error but if you don't use SP3, or the suggestion doesn't fix it, then it might be something else [although almost all clashing scripts have been sorted by their authors over the last year or two or at least 'blacklisted'...].
To find another guilty file you can do the 'halving' method...
Make a 'Disabled' folder and an 'OK' folder and move half of your .rb/.rbs files ['scripts'] from the 'Plugins' folder into 'Disabled' [but remember to leave 'Mirror.rb' in the 'Plugins' folder], restart Sketchup and if the error with Mirror has gone we know that the culprit script is in the 'Disabled' set - move the rest of the 'Plugins' temporarily out into 'OK' [except Mirror.rb] - move half of 'Disabled' back into 'Plugins' and restart/retry - again if it's working alright the culprit is still in 'Disabled' - move the last lot you moved over into 'OK'... keep moving halves back into 'Plugins' until it breaks [moving non-culprits into 'OK' just makes it easier to keep track of what's where]. When it does break we know the 'block' of files we just moved into [or have left in] 'Plugins' - you can move any files from 'Disabled' into 'OK' [we know these are not guilty] and move half of the suspect 'block' to 'Disabled'. Repeat the 'halving' until you have most files in 'OK' but you have a broken Mirror.rb and the Culprit.rb file in 'Plugins'.
Now put Culprit.rb into 'Disabled' and all files in 'OK' back into 'Plugins'.
'Mirror' should work correctly because the file that clashes in now in 'Disabled'.
At this point let me know what the culprit file is and I'll have a look... Note that it might only be a 'loader' and the real culprit might be inside a subfolder - the file will tell us that... You can zip the guilty file and PM it to me it you like... -
TIG
thanks for all that:
I removed SP3 from plugin folder & the mirror3.6 worked fine... I just tried your Classextensions re-write; it didn't fix my conflict, but heh, never mind, I don't really use SP3 but mirror is too useful to miss, so I'm going with that & hope the SP guys will sort their thing out one day...all the best
-
TIG this tool is a life saver. As someone who is used to AutoCad I thank you
-
i'd like to thank you for this plugin. actually, i've been using it for about two weeks
it's saves a lot of time trying to figure out how to mirror and saves the time step by step mirroring.
so, i can use more time trying to know and understand what am i drawing -
Absolutely fantastic Plugin! I'm an AutoCAD guy and always battled SU's mirroring. This feels quite a bit more natural. Thanks agian
-
Bug or natural behavior?
-when I mirror a component that cuts opening, it mirrors fine, the mirrored cuts its opening too. But, if I mirror two (or more) instances of that component, at the same time, the instances won't cut opening. Neither the mirrored ones, nor the original instances.
Is it a bug, can be fixed, or is just how it works?
-
@unknownuser said:
Bug or natural behavior?
-when I mirror a component that cuts opening, it mirrors fine, the mirrored cuts its opening too. But, if I mirror two (or more) instances of that component, at the same time, the instances won't cut opening. Neither the mirrored ones, nor the original instances.
Is it a bug, can be fixed, or is just how it works?
Not been reported before...
If you select one cutting instance it's mirrored/copied without recourse to temporary grouping, so the cutting is retained. If you select more than the one cutting-instance then the selection is grouped copied/mirrored/exploded.
So the original gluing instance is unglued from its face and then it and the exploded copy versions aren't told where to glue to...
There are several 'reglue' tools available... I suggest my HolePunch tool which has a simple one - you select the now unglued instance[s] and select Reglue off the context-menu, the face[s] below the instance[s] [if any] are found and the instance[s] are glued onto it, thereby cutting holes in the face[s] too if they are 'cutting-components' - they don't need to be any special 'hole-punching' instances, it will work on any gluing instance - even ones that don't then 'cut' - however if they do 'cut' and you also want them to then 'punch' a hole through any inner face[s] then they can, once they are each glued to an initial face ! ...
Advertisement