ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
  • How to get a intersection btween a line and a face

    4
    0 Votes
    4 Posts
    201 Views
    TIGT
    You could also look at model.raytest The point could be one that you used for your vertical edge and the vector is [0,0,-1] It will return any array raytest[0] is the intersection point and raytest[1][-1] is the face or edge it hits... http://code.google.com/apis/sketchup/docs/ourdoc/model.html#raytest
  • Backface UVs - How?

    3
    0 Votes
    3 Posts
    107 Views
    D
    @thomthom said: what flags did you use when you obtained the PolygonMesh? Face.mesh http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/face.html#mesh @unknownuser said: Add these numbers together to combine flags. A value of 5 will include all flags, for example. This is wrong. 7 is the value if you want to include them all. It's a bitwise combination of the optional values. Thanks for that. Indeed, I was using 5 instread of 7 as the mesh flag. Thanks again
  • How to get a selected object center?

    3
    0 Votes
    3 Posts
    134 Views
    M
    @chris fullmer said: because you are finding the bounding box for the first entitiy in the list of entities. What you want is to find the bounding box of the first entitiy in the selection set I would bet. model = Sketchup.active_model sel = model.selection first_entity = sel[0] try that i got it ,thank u ~
  • Plugin Idea: Flashbulb

    6
    0 Votes
    6 Posts
    455 Views
    X
    whaat you could make a component (dynamic if you light) call it camera_light and then use the align camera light ruby.
  • Matrix Multiplication Explained

    10
    0 Votes
    10 Posts
    697 Views
    TIGT
    That 'that' is manually rotating about a point and then scaling in a certain axis often gives quite different results from scaling in a certain axis then rotating about the same point That is that !
  • Observers within a Tool?

    2
    0 Votes
    2 Posts
    81 Views
    thomthomT
    facepalm! model.rendering_options.add_observer(self) - duh!
  • NetBeans Question

    10
    0 Votes
    10 Posts
    466 Views
    DavidBoulderD
    The syntax checking is a big plus. I've also just setup subversion control on it. Great to easily revert to previous version if I have messed up code. Commit once I know it is good. I also really like looking at differences between two versions. I can have both side by side, or on the active version, there is a notation of where I have made changes, and clicking the icon brings up a popup with the old code. I can then revert just that piece back vs. the entire file. The global searching is also nice. I'm working on someone else s code on a complex project, and it is great to quickly see where else specific code is being used.
  • I want text tool to show attributes other than area etc.

    5
    0 Votes
    5 Posts
    228 Views
    T
    Got one already: http://www.smustard.com/script/TextLabelOverride Todd
  • Face Me Scaling bug?

    11
    0 Votes
    11 Posts
    331 Views
    thomthomT
    @chris fullmer said: AND 3rd aprty renderers do not appreciate the 16th element of the matrix being anything other than 1 also. So they often freak out when they come across these face-me's that have been incorrectly scaled. Previous version of VfSU didn't like that type of transformation. The new one seem to deal with it properly. @chris fullmer said: Yeah, this was a fun bug to track down Obcurity - thy name is SketchUp!
  • Is measuring LUX in a model possible?

    29
    0 Votes
    29 Posts
    7k Views
    AdamBA
    @wind-borne said: Initially, I will be looking at Lux for estimates of losses due to shading as program does face calculation if I understand the static reading. LightUp Insolation rendering gives 3 readings: A spot Kwh/m^2/day for the exact position from which you're taking the reading. (Static) A Face reading of Kwh/day (ie scaled by the area of the face). This is useful if you model panels with a single face. (Tracked) A Face reading of Kwh/day assuming the face tracks the sun (and is therefore more efficient). Adam
  • Any SU render engines that renders distorted textures?

    97
    0 Votes
    97 Posts
    17k Views
    M
    What I'm trying to say is this: If you add Q*(Face Normal) to each of your points you get a new face. If you align your texture to this new face but assign it to the old face it should be distorted. PS: sorry for my bad English... I'm not a native speaker.
  • SU help forum: SketchUp Ruby Plug-Ins

    10
    0 Votes
    10 Posts
    632 Views
    chrisglasierC
    @unknownuser said: I like the work put into the menu system Chris, I presume you're using that in a plugin you've created? (Or is SketchUp not capable of doing that?) Thanks. Both cgScenes and nsetSketchupAPI work as plugins and have been downloaded 130+ times. Here are copies of the download links. cgScenes R 1.051.zip nsetSketchupAPI 1.00 Nov15 1350.zip Here is how I introduced the API one: @chrisglasier said: I hope some people find the nset version of Alex's cheat sheet useful but really the main purpose was to demonstrate an alternative method of working that energerises names with computer code. Linked together in sets they provide machine-like support. Specific data is simply clicked into focus rather than the reader having to look through pages. . We thought that others might join in by adapting devices like Jim's web console [image: Rzjn_API012.png] and creating new ones using the same "name-based OS" that links everything together (the main menu is the model). But it seems web dialogs are not considered a serious solution, which is a great shame. I believe ignoring the real potential of the Net is very short-sighted. So I decided to concentrate on expanding cgScenes as I know there are SU people who would like to use hierarchies of scenes (views of their models) to facilitate design, present to clients/customers, submit to authorities, support purchasing, direct site work, explain timing and methods with diagrams and model animation, and handover useful and reusable automated information for ongoing activities.
  • Connect lines

    5
    0 Votes
    5 Posts
    640 Views
    TIGT
    "Adjust" is a Tool within the 2Dtools toolset - accessed from the Draw>2Dtools menu or the 2Dtools toolbar...
  • [code] 3ds2obj.rb

    15
    0 Votes
    15 Posts
    3k Views
    thomthomT
    @jim said: Yeah, that's pretty much all there is to it. Make sure to read all the values; you can't skip them even if you don't use them. Because of variable chunk length? @jim said: I made a mistake when I said the values did not match - it works out no problem. You managed to recreate an SU camera? What's the lens value? AOV? FOV?
  • Creating a bounding face around an instance

    10
    0 Votes
    10 Posts
    551 Views
    Chris FullmerC
    Use an inputpoint to get all the SketchUp inference points. This is a bare-bones code snippet that will make a tool, use an inputpoint and then draw that inputpoint to the screen. ` class SUC_IP_POINT def activate @ip1 = Sketchup::InputPoint.new end def onMouseMove(flags, x, y, view) @ip1 = view.inputpoint x,y view.invalidate end def draw(view) @ip1.draw view end end Sketchup.active_model.select_tool(SUC_IP_POINT.new)` So check that out, see if it helps. Chris
  • Ruby Console.... what's up with all the <br/>s?

    13
    0 Votes
    13 Posts
    488 Views
    T
    I'm running the latest SU Pro on a Mac. I think I did bypass an update-gram the other day, so I might not be on the latest.
  • Something odd in my Styles menu.

    3
    0 Votes
    3 Posts
    118 Views
    C
    @tig said: Are you sure you haven't got two duplicated 'Styles' folders ? Use the Finder to check - there should only be the one root folder - perhaps you have that 'Lin' style copied into another 'personal' one that's interfering ? Hello, Where would the root file be? Kind regards, Chuck
  • WebDialog set_file

    24
    0 Votes
    24 Posts
    6k Views
    Dan RathbunD
    UI::WebDialog.set_file BUG found Found the problem on PC. It's a boo-boo using the File.join method. An extra SEPARATOR is getting inserted at the beginning of the URL string, so that whatever the pathname, whether you use the optional relative path (2nd argument) or not, the resulting URL passed to the browser begins with: file:/// For this test I have Rick Wilson's lil' html help file in the Support folder: Rename it to .html and put it in the Sketchup Support folder my_dialog=UI;;WebDialog.new('Smustard Organizer Compatibility',true,'test',800,600,100,100,true) SUpath=Sketchup.find_support_file('') #empty string needed! my_dialog.set_file('Support/Smustard_Organizer.html',SUpath) my_dialog.show On the PC this results in MSIE error dialog stating that 'Internet Explorer cannot find the file: "file:///C:/Program Files/Google/Google SketchUp 7/Support/Smustard_Organizer.html"_' Trying various combinations of the set_file method: 1 argument, 2 arguments, etc., I have also been able to get 2 types of error webpages, 'Internal Server Error' and the normal useless 'Cannot Open the Webpage error' with the likely reasons ie: No Internet connection, etc. LESSON UseUI::WebDialog.set_url instead. my_dialog=UI;;WebDialog.new('Smustard Organizer Compatibility',true,'test',800,600,100,100,true) SUpath=Sketchup.find_support_file('') #empty string needed! # Remove leading file separator on Mac (or Win without Drive;) SUpath.slice!(0,1) if SUpath[0,1]==File;;SEPARATOR # File.join will put it back in my_dialog.set_url( File.join('file;//localhost',SUpath,'Support/Smustard_Organizer.html')) my_dialog.show It is quite likely that .set_file actually just calls .set_url passing the latter improperly concatenated pathname string portions misusing the File.join method. (Obviously the set_file method could be fixed using the slice! technique above.) UI.openURL The same technique can (and should) be used with UI.openURL so that code is cross-plaform. On Mac, testing has shown that OSX wants 'file://localhost' at the begining of the URL or it can't find the file.* On PC, Windows will adjust the URL, stripping off the 'file://localhost' and passing the rest of the path to whatever application is registered for the file extension. (Not always the browser.) WebDialog.new Two things to note here. Comma Separated Parameter List form: IF the pref_key argument is nil or '' (empty string), the remaining arguments are ignored. (This is why I set the key to 'test' in the examples above.) So if you are attempting to make a WebDialog that does not save settings, and it is not showing at the position and size you want, this may be why. Hash as Parameter form: Contrary to what has been said that the dialog_title parameter cannot be set through the hash, it CAN be. However, there is a bug in this new Hash based functionality. In that the Google coder did not take into account that there are several ways of defining a Hash, ie, with Symbol keys or String keys. The coder should have just converted each key using to_s and then made the value assignments based on the keystring, but didn't. So the Hash based form is 'quirky'. You must use Symbolsas keys, NOT Strings: hsh=Hash[:dialog_title=>'Title passed by Hash', :scrollable=>false, :preferences_key=>'MyDialog', :width=>800, :height=>600, :left=>100, :top=>100, :resizable=>true] AND once again if you omit the :preferences_key value pair, it seems the remaining arguments are ignored.. ie default position is 0,0 and size is 250,250 instead of those specified in the hash. Conclusion: Because of the kwappy way the WebDialog API was coded, we must pass ALL parameters or Hash keys (which actually defeats the advantage of the Hash, over a Comma Sep'd Parameter List.) _
  • [CODE] Camera settings

    28
    0 Votes
    28 Posts
    4k Views
    chrisglasierC
    And here's the matrix returns for one component in the original and recreated view. [image: L2cr_camera011.png]
  • Face pointing towards the camera?

    25
    0 Votes
    25 Posts
    1k Views
    T
    @thomthom said: Any clues to how to determine that? Check my FrontFace. I just compare normals. The global transformation problem is solved by shooting a ray. That allows you to get an array of all parents of a face.

Advertisement