PointTool for Mac
-
Also, check out the construction point tool TIG wrote:
Plugins forum > subject: "Reports coordinates of a cpoint"You can place a construction point at a specified (RED, GRN, BLU) location,
or if you select a group of construction points (a point cloud, for example, that you might be using for DTM), it will report the location of each according to the model precision set in Window > Model Info.
Very nice. It runs from the Ruby Console.
-
@mmyoung said:
Yes, that is what was happening for me.
When I changed it as shown, it loads. Does this edited version work for you?michael,
i am always wary of making any changes to ruby scripts. i know nothing about it so all the times i tried to make changes to a script i ended up doing something wrong or forgetting some important thing. could you please post the changed script here so that i could try it?
-
@edson said:
@mmyoung said:
Yes, that is what was happening for me.
When I changed it as shown, it loads. Does this edited version work for you?michael,
i am always wary of making any changes to ruby scripts. i know nothing about it so all the times i tried to make changes to a script i ended up doing something wrong or forgetting some important thing. could you please post the changed script here so that i could try it?
Here's a version that might be Mac friendly...
Extract the .rb file and the subfolder+png-file into the Plugins folder... -
sorry, tig. it did not work. thanks.
-
I now see the problem... here's a fix for that error ???Extract the .rb file and the subfolder+png-file into the Plugins folder...
Ruby on Mac is less forgiving about parenthesizing arguments - it takesdothis(aaa,bbb)
ordothis aaa,bbb
, but while on a PCdothis (aaa),bbb
will work it kills a Mac ! Then I made itdothis((aaa),bbb)
and it works however... -
still not working.
-
@edson said:
to tell you the truth, i have a small problem with this tool: it does not load at startup. i always have to go to View>Toolbars to open it.
If the original tool itself works why not give it
(a) a keyboard shortcut
or
(b) put it in the customizable toolbar?Either of these bypass the need for the Point Tool toolbar.
-
@wind-borne said:
If the original tool itself works why not give it
(a) a keyboard shortcut
or
(b) put it in the customizable toolbar?Either of these bypass the need for the Point Tool toolbar.
by all means, why not? thanks.
-
Edson
That report is from the old version - the new one does not have those lines of code in it !
Can you check that you don't have a duplicate loading from another Plugins folder ?
Read the path in the error message and ensure that that file is this new one...
I know there has been some Mac folder confusion in the past... -
tig,
you were right. i must have done something wrong before. no error messages this time. however, the problem remains the same: the toolbar is not loaded automatically when i start sketchup, as most do.
-
Try this adjusted versionPointTool.rb
-
the tool works fine, no error messages, but it does not load when i open sketchup.
-
THIS should load the toolbar - IF it were open the last time you closed SUp, if it doesn't open the toolbar then close SUp, reopen SUp and the toolbar should still be active ?PointTool.rb
-
IT WORKS!!!
-
-
Just downloaded PointTool_1.2, using SU 2016 on iMac El Capitan, with autoinstall from the SketchUcation plugin store.
Works fine as installed automatically, but puts Draw Points on the Extensions menu (formerly Plugins). I wanted to put it on the Draw menu, so changed one line in this part (sorry, don't have line numbers in my Text Editor)
` unless file_loaded?(FILE)
file_loaded(FILE)
$submenu ? (organizer = $submenu) : (organizer = UI.menu("Plugins"))
organizer.add_item("Draw points"){ pointtool }p=Sketchup.find_support_file("Plugins") cmd = UI::Command.new("Draw points"){ pointtool } cmd.large_icon = cmd.small_icon = File.join(p, "PointTool", "PointTool.png") cmd.tooltip = cmd.status_bar_text = "Draw some points" UI::Toolbar.new("Point Tool").add_item cmd
end`
I changed just part of this line from:
$submenu ? (organizer = $submenu) : (organizer = UI.menu("Plugins"))
to
$submenu ? (organizer = $submenu) : (organizer = UI.menu("Draw"))
but now the plugin errors on loading. And still errors if I change the line back to have "Plugins" as in the original.
Any thoughts on why this is happening, and how I could get it to load in the Draw menu?
Of course I can (and shortly will) add a shortcut (probably Shift P) but I don't understand why this simple change stops the plugin working. I was using the built in Mac TextEdit.app which I assumed did what it says on the tin, like Notepad on Windows - or is it more like WordPad, and adding non-text characters to the file when saved?
John McC
-
Ah. It seems that the problem lay in the TextEdit app - when I found and installed Brackets instead, and made the same edit, it does what I expected.
Ah well, it takes a while for a decades-long Windows user to get used to a new iMac...!
John McC
-
It looks like a problem of file encoding due to your editor. This is why it does not work even when restoring the menu to its original value.
The file should encoded UTF8 without BOM.
You could use notepad++ (free and quite powerful editor), whenever you manipulate Ruby.
Fredo
-
unless you use the old SmartMustard plugin organizer [which I doubt]...
get rid of the $organiser bit....
menu = UI.menu('Draw') menu.add_item('Draw points') { pointtool }
I can see other errors in a very old copy I checked, that may have been fixed by TIG...
if the next line starts withp =
, then it's not fixed...BTW... the free TextWrangler.app is much better for editing all kinds of files...
EDIT: the rest of the file is needing work there are a number of places it use a 'reserved' word...
this was why i asked about thep
, before re-reading your code block...plgs = Sketchup.find_support_file('Plugins') cmd = UI;;Command.new('Draw points') { pointtool } cmd.large_icon = cmd.small_icon = File.join(plgs, 'PointTool', 'PointTool.png')
def create_geometry(pt, view) view.model.active_entities.add_cpoint pt view.invalidate end
def no_points_here?(pt) Sketchup.active_model.entities.select { |e| e.class == Sketchup;;ConstructionPoint }.each do |e| return false if e.position.to_a == pt.to_a end
john
Advertisement