Sketchucation Tools 5.0.7 | Licensing improvements and bug fixes Learn More

Subcategories

  • No decscription available

    20 Topics
    462 Posts
    HornOxxH
    @pilou said: More appetizing in chocolate! Eggs are good as well - but only very fragile when falling down in SketchyPhysics
  • Encode in 2014 again.

    12
    0 Votes
    12 Posts
    1k Views
    Q
    Thanks for all. The problem is done. The solution is to use ultraedit convert function(convert ascii to utf-8(unicode edition)). Originally, i use the notepad++ to convert utf-8 without BOM, and it seems not work as expected. Now, the split function can work correctly without any force_encoding, but the input from html should be converted using force_encoding("UTF-8"). Thanks again for TIG.
  • Array.uniq! for a 3d-point array ???

    6
    0 Votes
    6 Posts
    1k Views
    Dan RathbunD
    @aerilius said: Geom::Point3d.== method checks for example if all coordinates (x, y, z) are equal, and then says two points are equal. uniq appears to check for identity and not for equality. In Ruby 2.x (SketchUp 2014+,) where we now have a block form of the uniq method, that we can tailor to override C internals of the uniq! method, and tell it what and how to do the comparison. Ex: pts = roof.uniq {|a,b| a.==(b) } or: pts = roof.uniq {|pt| pt.to_a } In the future, perhaps, custom uniq methods could be added to a new PointArray subclass of Array., for the API. Of course any author could create such a custom class within their own namespace(s). ALSO.. the many od the API classes should have had their eql?() method aliased as the overridden ==() method. The uniq methods want to call eql?() instead of ==().
  • [solved] "movin" group into another group (in ruby)

    7
    0 Votes
    7 Posts
    742 Views
    artmusicstudioA
    hi, thanx! work like a dream, as soon as i found out, that a ng - group must be created before calling the method, then it moves both groups into it. fantastic! THANK YOU !!!!! stan result: g0 = @group_floors #COMES FROM ANOTHER METHOD g1 = @facade_group #COMES FROM ANOTHER METHOD ng = model.entities.add_group self.insert(ng, g0, g1) ##*************************************************************************** def self.insert(ng, g0, g1) ##*************************************************************************** ng.entities.add_instance(g0.entities.parent, g0.transformation) ng.entities.add_instance(g1.entities.parent, g1.transformation) g0.erase! g1.erase! #ng.name = "master house group created" count = 1 entities3 = ng.entities entities3.each { |entity| if entity.is_a?(Sketchup;;Group) entity.explode if count == 1 #SO GROUPS ELEMENTS ARE AGAIN AT LEVEL 1, as needed count = count + 1 end } end
  • [solved] submenue in a submenue ??

    4
    0 Votes
    4 Posts
    485 Views
    artmusicstudioA
    got it! thanx, works perfectly... stan
  • [solved] a simple UI.inputbox problem

    3
    0 Votes
    3 Posts
    465 Views
    artmusicstudioA
    hi tig, understood and done, works perfect, the combi-version is very nice and confortable and i can pass arguments to it from any method. you will then see it in the finished ruby! thanx a lot for the explanation. stan
  • Retrieve a value from status bar input box

    5
    0 Votes
    5 Posts
    492 Views
    TIGT
    You have to make a 'class'. SketchUp recognizes it as a 'Tool' from the way it is made into a command... Special 'Tool' methods can be used in that class... Go to the Extension-Warehouse and find the Examples - the 'draw box' example shows how to set up a Tool... https://extensions.sketchup.com/en/content/example-ruby-scripts
  • Modifying TIG's Archiver

    3
    0 Votes
    3 Posts
    342 Views
    M
    @tig said: ...an older version... BLAST! Thanks TIG. Started a while ago and completely forgot about the updates. Starting over LOL
  • How to get real position of vertex

    2
    0 Votes
    2 Posts
    417 Views
    TIGT
    Get the "container[s]" of the entities, get their "transformation[s]", then transform the vertex's point to match. Then you'll have the point in the model coordinate system, not the point in the container's coordinates system... This will give you the path through the nesting: http://www.sketchup.com/intl/en/developer/docs/ourdoc/model#active_path See these methods to get the 'accumulated' transformations of each container: http://www.sketchup.com/intl/en/developer/docs/ourdoc/transformation
  • Delete a mesh square diagonal edge (hidden) ?

    3
    0 Votes
    3 Posts
    372 Views
    artmusicstudioA
    hi tt_su, super, soft & smooth helps to identify. it works. the selected field of mesh is tranfered to a single face (i work with selection). thanx stan
  • Active_view.camera.get_center2d & .get_scale2d

    3
    0 Votes
    3 Posts
    359 Views
    T
    get_center2d() and get_scale2d() C++ SDK functions return a camera shift and zoom-in factor for 2p perspective camera. You reply gave me idea, that maybe I could calculate the shift/zoom using InputPoint.position... This may work.
  • Moving a compo-instance by z

    2
    0 Votes
    2 Posts
    296 Views
    TIGT
    You have a component definition [ defn]. You have an instance of it [ inst1]. That instance has a transformation [ tr1=inst1.transformation]. That transformation has an origin [ org=tr1.origin] - i.e. its 'insertion point'. You make a new transformation based on that: tr2=Geom::Transformation.new([org.x, org.y, org.z+z_increment]) Where the ' z_increment' is the amount by which you want to move the copy upwards - either in inches or a Length. You add the copy thus: inst2=inst1.add_instance(defn, tr2)
  • Material is deleted when cloning

    13
    0 Votes
    13 Posts
    856 Views
    Dan RathbunD
    @tt_su said: Ah! Found the crash report. ... I'm logging a new issue.
  • Center Webdialog over Sketchup window

    4
    0 Votes
    4 Posts
    560 Views
    A
    You could theoretically read the screen dimensions using JavaScript, divide by two and subtract half of the dialog's width and height (you can read the inner width without window border using JavaScript). This is not recommended. If it is not essential to the functioning of you plugin, think again if you can get along without it. This causes your dialog to launch initially with different dimensions and then "jump". On a multi-monitor setup, you don't know whether the dialog is on the second monitor, and the above formula will give you coordinates for the first monitor. The dialog will jump to the first monitor, if it was launched (by registry preferences) on the second one.
  • View draw_lines bug

    7
    0 Votes
    7 Posts
    552 Views
    tt_suT
    @jolran said: Bottom line is the crash does not occour when using GL_LINES. So for me all is fine.. We'd really like to close down any causes of crashes. So please send us examples if you come across it.
  • Clone PolygonMesh

    23
    0 Votes
    23 Posts
    2k Views
    jolranJ
    Yes, Thanks. I used that and noticed some increase in performance. But I have kind of abandoned the PolygonMesh for now. At least during the previewing state. I experimented building my own meshclass with indexing of points. Instead of using PolygonMesh class as a Point container. Keep arrays of indexes and a Hash containing Points. And the Transformation only deals with the uniq points(Hash) then. Quite a lot of speed improvements! The advantage here is that I can reuse the objects somewhat, while I can't purge/clear(?) a PolygonMesh. So the GC should work a little less. I'm sure you guys have/are doing something similar or more advanced...
  • How to get current active axis?

    9
    0 Votes
    9 Posts
    743 Views
    tt_suT
    If you are in the root context then you can't. If the user has set a custom axis then there is no Ruby API method to obtain that. We have that logged as a feature request.
  • Fastest way to pass geometry to C Extension

    2
    0 Votes
    2 Posts
    316 Views
    tt_suT
    This sound like a bleeding edge optimization - where you need to profile to get your answer. In general, try to create as few Ruby objects as possible. Reuse data. Make use of bulk functions if possible.
  • Face.position_material SketchUp 2014 regression

    6
    0 Votes
    6 Posts
    710 Views
    tt_suT
    Thanks for reporting!
  • Followme in ruby not working as expected

    5
    0 Votes
    5 Posts
    624 Views
    J
    Hi Jim, Yes that's exactly what I wanted! Thank you. I've managed to get the code to draw the internal leaf as well. The only small problem now is I'm repeating myself in the code to get this result, which seems wrong. Is there anyway to get this result without have almost identical code running twice? Is there anyway to push two faces along the same path at the same time to give the result below? [image: 2014-06-23_1143.png] fyi this is how the code looks now. ` mod = Sketchup.active_model # Open model ent = mod.entities # All entities in model sel = mod.selection # Current selection wallGroup = ent.add_group #face points pt1 = [0,0,0] pt2 = [0,10,0] pt3 = [0,10,100] pt4 = [0,0,100] pt5 = [0,20,0] pt6 = [0,30,0] pt7 = [0,30,100] pt8 = [0,20,100] #line points lpt1 = [0,0,0] lpt2 = [150,0,0] lpt3 = [100,150,0] lpt4 = [0,100,0] path = [] face = ent.add_face pt1, pt2, pt3, pt4 path.push ent.add_line lpt1, lpt2 path.push ent.add_line lpt2, lpt3 path.push ent.add_line lpt3, lpt4 #line = ent.add_line lpt4, lpt1 status = face.followme path path = [] face= ent.add_face pt5, pt6, pt7, pt8 path.push ent.add_line lpt1, lpt2 path.push ent.add_line lpt2, lpt3 path.push ent.add_line lpt3, lpt4 status = face.followme path`
  • Text variable within a component?

    3
    0 Votes
    3 Posts
    288 Views
    artmusicstudioA
    hi dan, yes, i understand. i solved the problem with the following solution: the component-related text is placed outside and with every calculation per ruby it is selectively deleted and placed with new parameters at the new components position. seems to work well. stan

Advertisement