⚠️ Update | Sketchucation Tools 5.0.8 released with licensing improvements and bugfixes Download

Alkategóriák

  • No decscription available

    20 Témakörök
    462 Hozzászólások
    HornOxxH
    @pilou said: More appetizing in chocolate! Eggs are good as well - but only very fragile when falling down in SketchyPhysics
  • Vector.angle_between() -- Direction?

    8
    0 Szavazatok
    8 Hozzászólások
    4k Megtekintések
    R
    Yeah, sorry about that. I suppose I shoul give it its own spot for developer use
  • How can I assign a keyboard key as a SketchUp shortcut

    4
    0 Szavazatok
    4 Hozzászólások
    6k Megtekintések
    TIGT
    It IS possible to modify and add shorcuts to the PC registry using SketchUp Ruby methods [search other recent threads on this] BUT I would not recommend it unless it's for 'in-house' use only. As TBD says imagine the chaos it'd cause if your script messed up everyones pre-set shortcuts... IF you want to do this then at least offer the choice - make your script with an installer [part] which checks to see if the shortcut has already been used, and with a dialog that asks something like, "Would you like to assign 'Q' as the shortcut key for this tool ?" and if it's already pre-set, "\nNote that 'Q' is currently used for xxxxxxxxxx."; Yes/No. If Yes then you make / change the shortcut. The installer only auto-runs once - on exiting the dialog it also writes something into the registry that is checked by it when it's about to run again, and if that's found then doesn't even ask. This way the user has the option - and at least then knows that a key has been assigned...
  • Timing script needed for bad timer

    3
    0 Szavazatok
    3 Hozzászólások
    3k Megtekintések
    S
    Bruce - see the bottom of this thread: Dead Link This is timely- project management software commercially available for free today, but only today - 16 hours left [Shaun Tennant]
  • Sketchup.active_model.layers returns <Deleted Entity>?

    7
    0 Szavazatok
    7 Hozzászólások
    4k Megtekintések
    R
    I tried your example script, and see the problem you see. According to the SU ruby docs: "Currently there are two behaviors defined. A page keeps a list of layers that do not have their default behavior. If a layer is not in that list, then it is set to its default visibility determined by one of these flags. LAYER_VISIBLE_BY_DEFAULT 0x0000 LAYER_HIDDEN_BY_DEFAULT 0x0001" The strange thing is that in commenting out different lines and trying the script again, LAYER_IS_HIDDEN_ON_NEW_PAGES is the setting that sticks - not LAYER_IS_HIDDEN_BY_DEFAULT. I'll report that to the SU crew.
  • Saved file does not match what's on the screen.

    3
    0 Szavazatok
    3 Hozzászólások
    4k Megtekintések
    R
    I could take a look - contact me through Smustard.
  • A Ruby to display the name and creator of a ruby?

    2
    0 Szavazatok
    2 Hozzászólások
    4k Megtekintések
    A
    If the programmers would writing real extensions, you could see name etc. under Windows > Preferences. Would be possible to do this with variables, BUT: The programmers must write classes, not only simple methods including the following module in the way the class MyExtension does: module DescribedExtension @@author = '' @@version = '' # ... end class MyExtension > Sketchup;;Extension include DescribedExtension def initialize @@author = 'azuby' if @@author.empty? @@version = '1.0' if @@version.empty? end # YOUR METHODS HERE end So you can ask the extension for info: if MyExtension.include? DescribedExtension puts MyExtension.author puts MyExtension.version end A much better way would be a kind of manger, which is could from extensions which include DescribedExtension. Than you only have to ask the manager for all described extensions. This is done in my approach to write an extension manager. But unfortunately the Sketchup Ruby API does not provide the required methods to finish my work. But you can go into the sources and look how it is done. azuby
  • Accessing submenus / extension manager

    14
    0 Szavazatok
    14 Hozzászólások
    7k Megtekintések
    J
    ("a".."z").each { |l| begin print "Trying #{l};" UI.menu(l).add_submenu('jim') puts "OK" rescue puts "Error on #{l}." end } I don't like the "code" font, by the way; it's hard to read.
  • Organize your Rubies?

    7
    0 Szavazatok
    7 Hozzászólások
    6k Megtekintések
    A
    I'm wondering, why the Ruby extension programmers do not make use of the Sketchup built-in Extension class, so the users can switch the extension on and off via Window > Preferences ... In every case (with a loader script or built-in support) you need to restart Sketchup when switchung off extensions, because you can't take away menu items. Would be possible to overwrite the methods in the Ruby extension when switching off via loader script, but anyway the extension is loaded. Also have a look on my approach(!) to organize scripts: http://www.sketchucation.com/forums/scf/viewtopic.php?f=127&p=7623#p7623 azuby
  • Something about AppObserver#onQuit

    2
    0 Szavazatok
    2 Hozzászólások
    5k Megtekintések
    R
    Sorry I'm no help - have not tried that observer yet. The onSave observer has been requested, and noted by the SU folks, so maybe we'll get that one soon...
  • Shortcuts Plugin Possible?

    19
    0 Szavazatok
    19 Hozzászólások
    10k Megtekintések
    CadFatherC
    the CadFather strikes again! EDIT: one more bug, if you go and enter a new (or the same) key for 'add scenes', 'update scenes' etc it will overwrite your tweak - however it will work as long as once you have set it you leave it alone. and that is the end for tonight
  • Make "saveas SU5" default in SU6...

    8
    0 Szavazatok
    8 Hozzászólások
    7k Megtekintések
    CraigDC
    Ah yes, Tom, I am aware of the edges showing through alpha pings. I entered that bug in our database actually! Yeah, it's a tricky one, I hear... Man, it's always hard when one person's bug is another person's daily workflow. I empathize. I will add some weight to the bug. That is part of my "special purpose".. Cheers, - CraigD (Is there any other "CraigD"! :wink:
  • Align points

    5
    0 Szavazatok
    5 Hozzászólások
    6k Megtekintések
    PixeroP
    Thanks Azuby, I didnt know that. But I am a noob on Ruby. I've never seen it in the ruby docs though. Since I've seen both @ and $ used, I assumed you could use either. In my noobiness I though the @ came from @-atlast. Rick W, thanks I tried it but it still doesnt work. Could you please take a look at my script to see where I go wrong? Maybe try my script with a rectangle and set Align to custom and some custom value. jsAlign.zip
  • Scripy sticks?

    4
    0 Szavazatok
    4 Hozzászólások
    7k Megtekintések
    CadFatherC
    hey Coen that's way fast!! chill out! thanks Didier, i think i did it right - did try a registry trick but it didn't work... and this business has been around so long...
  • Ss add ss.group ???? Need Help

    2
    0 Szavazatok
    2 Hozzászólások
    7k Megtekintések
    TIGT
    Try ss.add(ss[0].parent.entities)
  • May I know how to use "close_active" from the Model Class,pl

    2
    0 Szavazatok
    2 Hozzászólások
    8k Megtekintések
    TIGT
    Sketchup.active_model.close_active will close a group or component that you have open for editing, and return to the base model, or group/component if the group being edited is 'nested' inside others. It returns 'true' if successful. It will return 'false' if you are in the base model itself as there's nothing to 'close'... TIG
  • Working with selection - ungrouped or within a group

    4
    0 Szavazatok
    4 Hozzászólások
    8k Megtekintések
    Didier BurD
    Yes it is doable. For instance: def editing_group? if Sketchup.active_model.active_entities.parent.class == Sketchup::ComponentDefinition and Sketchup.active_model.active_entities.parent.group? return true else return false end Will return a boolean to tell the script if the user is currently editing a group. BUT using methods of the selection class is independant of that. Even if the user is editing a group, Sketchup.active_model.entities can be accessed the usual way, and Sketchup.active_model.active_entities will return a collection of entities of the active group/component. If you have to check wether selection is a group or not, use this test: Sketchup.active_model.active_entities.parent.class == Sketchup::ComponentDefinition (because group are stored as if they are components !) and if you have to check wether a particular selected object is part of a group or not, use this test: if editing_group? and Sketchup.active_model.active_entities.include?( object_id ) ... Hope this helps,
  • Outliner to Text?

    11
    0 Szavazatok
    11 Hozzászólások
    10k Megtekintések
    S
    Thinking about this last night, combining some of my own work with things downloaded from the 3D warehouse, I came up with another feature which would be very useful. If you could show the number of faces at each level or the amount of memory used, you could tell where the most inefficient parts of your drawing are so that you could speed things up. I have no idea how to do that, or even if it's possible, but it's an idea.
  • Launching non-blocking external applications

    6
    0 Szavazatok
    6 Hozzászólások
    10k Megtekintések
    T
    Interesting solution Azuby. I have to check how if it allows to pass parameters as well. Thanks Tomasz
  • Absolute vs. Relative Meshes/Groups

    2
    0 Szavazatok
    2 Hozzászólások
    10k Megtekintések
    K
    Huh. Well. As it happens, it was much less painful adding in the transformation information than I thought: it works perfectly now. For anyone interested, just as an fyi, if you want to recapture the correct geometry, you have to transform the mesh according to the value returned by Group.transform, not the inverse of Group.transform. In other words, you want something like: t_matrix = Geom;;Tranformation.new def output_entity(entity, t_matrix) if entity.typename == "Group" t_matrix = t_matrix * entity.transformation # <== *NOT* t_matrix * entity.transformation.inverse entity.entities.each{|sub_entity| output_entity(sub_entity, t_matrix) } elsif entity.typename == "Face" mesh = entity.mesh 0 mesh = mesh.tranform! t_matrix # [Add output code here] end end Anyway, I'd still be curious if there's a more "internal" solution, but it seems like everything's working perfectly, and much less painfully than I'd expected. Kevin

Advertisement