🚨 Skimp | 25% Off until March 30 Buy Now

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
  • Connecting Sketchup's ruby with MYSQL database

    7
    0 Szavazatok
    7 Hozzászólások
    2k Megtekintések
    danielbowringD
    Oh, if you're only intending to use the data locally, then any remote data source would be overkill. If you want to just save it to the model, you can just save it as an attribute to the model. Entity#(g|s)et_attribute can store a few different types, including Point3d objects. model = Sketchup.active_model # Save array of points to the model model.set_attribute('my-points', 'some-key', [ORIGIN, Geom;;Point3d.new(1, 2, 3)]) # Get the points from the model, or an empty list if none are present my_points = model.get_attribute('my-points', 'some-key', [])
  • Finding deepest entity in pick path

    6
    0 Szavazatok
    6 Hozzászólások
    1k Megtekintések
    dukejazzD
    PickHelper I will have to read up on this? Thanks tt & eneroth3 I will be following on what you find out - dj
  • The new? Trimble Sketchup SDK

    9
    0 Szavazatok
    9 Hozzászólások
    2k Megtekintések
    bugraB
    Hi, sorry about the delayed response. One important thing about the current SDK is that it cannot work with the in-memory model that's live in SketchUp, it can only open existing skp files. So you'll have get the file saved first. Here are some answers to your questions. For the ones I skipped, it means we should be able to do it. @th3lurker said: 4b. I used to create new faces using a mesh(because of speed issues), but this poses several problems. The face does not "exist" until i use fill faces from mesh, so i have to store the texture information separately. Fill from mesh erases all entities that existed previously in the group, so i have to wait until i am sure i have no more faces to add to the mesh. Could i use SUFaceCreate instead? Like i said, speed is an issue here, some of out projects have thousands of entities, and 10+ faces/ entity is not uncommon. Yes, you can use SUFaceCreate but using meshes (i.e. SUGeometryInput*) is currently the only way to map textures due to various reasons. We are looking into adding that to individual faces as well. @th3lurker said: Locking the group is not that important We do not support locking groups yet. I'll make a note. @th3lurker said: Are the .skp's backwards compatible?(sketchup8, maybe even 7, i have no real idea what the clients use). We currently save only in the 2013 format. It's on our list to be able to save in older formats. Thanks!
  • Toolbar conversion

    7
    0 Szavazatok
    7 Hozzászólások
    377 Megtekintések
    D
    I sent it in a PM as a 'code block', just copy paste, no zip... john
  • Ruby Script for Adding up length of Edges

    5
    0 Szavazatok
    5 Hozzászólások
    535 Megtekintések
    D
    @tig said: You can only really parse through entities 'collections': model.entities/model.active_entities and group.entities/definition.entities AND model.selection... However, once you have a collected set from that, you can parse that set to find just the things on a certain layer, with a certain material etc... Recently the use of 'grep' has been found to speed up entity parsing significantly, I recommend you try it... So to find all groups in a selection use: gps=model.selection.grep(Sketchup::Group) Now 'gps' is an array of all groups in the current selection. To find every selected group that's assigned layer 'XXX' use xxx=[]; gps.each{|gp| xxx << gp if gp.layer.name=='XXX' } If you want to find absolutely everything in the model using that layer, then: gps=model.entities.grep(Sketchup::Group) and process 'gps'... To get matches within a group use: gps=group.entities.grep(Sketchup::Group) and process 'gps'... To find everything in the model using a certain layer try: xxx=[]; model.entities.each{|e| xxx << e if e.layer.name=='XXX' } There are several alternative methods, like 'collect', but here I just show you make an empty array 'xxx=[]' and then we add to it using 'push' [<<] when we get a match... Hello TIG, This is once again very helpful. I think I understand your examples to experiment a bit and report back what I develop using this information.
  • Set layer color with code possible?

    6
    0 Szavazatok
    6 Hozzászólások
    296 Megtekintések
    renderizaR
    Hopefully next API update includes this function...Thanks TIG!
  • Detect changes in geometry?

    7
    0 Szavazatok
    7 Hozzászólások
    389 Megtekintések
    thomthomT
    @maricanis said: However, I've never used start_operation and Undo related features, so this is good opportunity to look them too. Indeed - they are essential for a good UX so the user an go back and forth. Another note on the ToolsObserver - the tool state of the tools vary and are not consistent so you need to dig a little to figure out their behaviour. I described some of the behaviour of Move, Rotate and Scale in the comments of AutoSmooth. You can view the source at GitHub: https://github.com/thomthom/AutoSmooth
  • Using chunkyPng library with Sketchup

    3
    0 Szavazatok
    3 Hozzászólások
    792 Megtekintések
    massimoM
    Done.
  • Fit_plane_to_points problem

    9
    0 Szavazatok
    9 Hozzászólások
    714 Megtekintések
    D
    I did not understand point.offset, with this example I understand a little more, thank you very much Thom, very interesting this
  • Query: Edge transparency

    8
    0 Szavazatok
    8 Hozzászólások
    445 Megtekintések
    thomthomT
    Not is you want to use the native Select tool. But if you want to avoid observers and gain more control over your plugin's environment you could make your own tool.
  • Calculations on its own thread

    9
    0 Szavazatok
    9 Hozzászólások
    832 Megtekintések
    T
    Everything I have tried in attempting to use Thread in SketchUp has failed miserably. This works for me: timer = UI.start_timer(1.0,true) { start = Time now loop do break if Time.now-start > 0.8 ... long computation involving many loops ... end } ... call stop_timer(timer) when appropriate, perhaps from within the loop My computation is copying a file to a WebDialog; the file is output from another process, and can grow over time to be quite large. This code updates the WebDialog once per second, and permits the "Kill" button (in another WebDialog) to work. Each loop reads 1024 bytes from the file and uses WebDialog#execute_script to append it to a textarea (escape \n and " to keep the JavaScript valid); it handles multiple reads at EOF as the file can grow.
  • Forcing a Screen Update during a Ruby script

    11
    0 Szavazatok
    11 Hozzászólások
    2k Megtekintések
    thomthomT
    This is the reason the Animation class is there for: http://www.sketchup.com/intl/en/developer/docs/ourdoc/animation.php
  • Virtually Test the Fit of Bolt and Screw Hole

    2
    0 Szavazatok
    2 Hozzászólások
    300 Megtekintések
    gillesG
    Make the bolt a group or better a component, edit it and use tape tool to scale it to fit. http://support.google.com/sketchup/bin/answer.py?hl=en&answer=116447&topic=2458211&ctx=topic [image: vy36_bolt.jpg]
  • SU 2013 not allowing SU 8 to run plugins!

    10
    0 Szavazatok
    10 Hozzászólások
    763 Megtekintések
    Chris FullmerC
    Great, thanks for the update!
  • Draw cpoint on face

    5
    0 Szavazatok
    5 Hozzászólások
    396 Megtekintések
    liquid98L
    TIG, Thanx for your answer, it completely elucidates my question.
  • Non-symmetric camera frustum?

    2
    0 Szavazatok
    2 Hozzászólások
    587 Megtekintések
    TIGT
    As far as I know the FOV frustrum is always symmetrical. Good luck in you endeavors...
  • Navigation Buttons on Mac

    3
    0 Szavazatok
    3 Hozzászólások
    277 Megtekintések
    H
    so as a consequence, there is no chance to set a own adress for the home-button? To create it as a part of html isnt possible in my case .. its a portal which references to a lot of differet homepages and i can't change them .. and a test with own buttons and an iframe destroyed the possibility to get information from the website to sketchup...
  • RBZ and Components library

    5
    0 Szavazatok
    5 Hozzászólások
    471 Megtekintések
    danielbowringD
    @driven said: for a mac you can create a symbolic link the will show the skps in the 'Components Browser' lnk_skps = %x(ln -s "#{Sketchup.find_support_file("Plugins") << "/your_folder/your_skps"}" "#{Sketchup.find_support_file('Components')}" 2>&1) is there not a windows equivalent? john For Vista and higher: mklink /D LinkName TargetPath XP "supports" a similar feature called junction points, but I don't think it's available by default. For XP: links LinkName TargetPath For Vista and higher: mklink \J LinkName TargetPath
  • Newbie question

    3
    0 Szavazatok
    3 Hozzászólások
    253 Megtekintések
    TIGT
    Because SketchUp's circles are in reality finely faceted polygons the real-intersection of two arcs' circumferences is unlikely to be exactly on those arcs' edges, unless by coincidence it turns out to be at one of the arc's edge's vertices. Conversely the actual-intersection of those arcs' edges is unlikely to fall exactly on the arcs' circumferences, unless by coincidence it's at a vertex of those arcs' edges... My TrueTangent tools contain a number of algorithms to find circles/arcs' true tangents, true intersection points etc... Perhaps these will help you find what you need...
  • Sine Law?

    9
    0 Szavazatok
    9 Hozzászólások
    1k Megtekintések
    T
    @tig said: So ac=**63.0** and then in the equation ad = Math.asin(db * Math.sin(ac**.degrees**) / dc).radians Now 'ad' is in degrees again, so when you Math equation processes it uses ad.degrees I was not confused between degrees and radians. Its the same way angles are treated in many languages, I'm quite familiar having written AutoLisp routines years ago, which also uses degrees and radians. Its more about me learning how to write the same code in Ruby .........I finally see in your example how .degrees gets added, its really simple once I saw your example.

Advertisement