⚠️ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update
  • Misbehavior when work axes have been moved/rotated

    7
    0 Votes
    7 Posts
    486 Views
    PixeroP
    Big thanks. I will try this. I think I only need the orientation.
  • Entity.transform!

    7
    0 Votes
    7 Posts
    563 Views
    tt_suT
    By the way, if you transform multiple entities it's faster to do it in bulk with Entities.transform_entities or Entities.transform_by_vector. Ditto for erasing and selecting - the performance differences between doing this in bulk is significant. Whenever you use erase! or transform! etc or any other single entity action within a loop consider the bulk alternatives.
  • Two plugins needed to properly integrate VRAY with Sketchup

    13
    0 Votes
    13 Posts
    2k Views
    G
    Thread has been inactive for a while, but the 'Faceme' component issue has been fixed with V-Ray 2.00 and Sketchup 2015. Either when rendering animations or batch rendering scenes. I run through this issue with previous version of V-Ray. Works fine right now, and 'faceme' component shadows are now also taken in into account...
  • Question about edit_transform

    11
    0 Votes
    11 Posts
    2k Views
    Dan RathbunD
    @danmacumber said: This post indicates that this method is provided by the Dynamic Components extension. Correct. However, those methods that are listed as added to Sketchup::Drawingelement, that have to do with transformations, should not have been added at that level of the class hierarchy (in order to just add them to the Group and ComponentInstance subclasses.) IE, they got erroneously added to ALL Sketchup::Drawingelement subclasses. Those methods are meaningless with respect to primitive entity classes like Edge. They should (and may in the future,) be defined within a mixin module, and then mixed ONLY into Sketchup::Group and Sketchup::ComponentInstance classes. @danmacumber said: Is there any documentation for the Dynamic Components extension? Not at this time. @danmacumber said: I only seem to get these issues if I change the active path multiple elements at time. ... I get similar results if I switch between other levels of the hierarchy in odd ways. I wonder if the implementation of local_transformation() depends on the active path observer? I do "believe" it does. I think it does similar to what you described. It (the "DCX") saves transforms into hashes (using the object reference as the key.) I think they are global collection objects named $local_edit_transforms and $global_edit_transforms. So you could write some watcher code into your tests that watch those collections. (Just do not write code that changes them or the DCs could stop working.) @danmacumber said: In our plug-in, we only ever have two levels of nested groups and all groups are unique instances. So I guess this should work for us? As long as the SketchUp team doesn't remove the method? This would require that your users have the DC extension loaded, or your extension might have to require the dc loader script explicitly.
  • Problems with SketchUp 8 plugins in Sketchup 2015

    12
    0 Votes
    12 Posts
    798 Views
    Dan RathbunD
    @tig said: So your code ABSBMP::MoMo::class_variables returns an Array of Symbols >>> [:@@a, :@@b,...] So you need the step varstr = varstr.to_s to make it into a String. :@@a >>> "@@a" Then you use attstr = varstr.gsub(/^[@][@]/, "") to strip off the initial '@@'... Many of the global query methods changed from Ruby 1.8 to Ruby 2.0. They now return arrays of symbols (for each variable or method name.) In Ruby 1.8 they returned array of string (for each variable or method name.) There are also many other "breaking changes" in Ruby 2.0 that need to be dealt with. (@TIG, Was there a post here on breaking changes?) Also garbage collection is much better under Ruby 2.0, so any menu reference will most likely only be valid during the evaluation of the file in which the reference is first made by an API call. So the attempt to hold the reference @@menu[:top] across multiple files may no longer work. We have been complaining about the non persistence of UI element references, for years! (Especially menu references.) So the workaround is to save the menu NAME (as a string,) instead of the actual reference to the menu object. @@menu[:top]= "Plugins" ... then whenever you need the object reference, use: topmenu = UI.menu( @@menu[:top] ) or submenu = UI.menu( @@menu[:top] ).add_submenu( "MoMo" )
  • Drop at intersection - red green axes ?

    5
    0 Votes
    5 Posts
    986 Views
    L
    If anyone is still interested throw-to will do the trick... See link below. http://sketchucation.com/forums/viewtopic.php?t=51542
  • Replacing edges by components?

    17
    0 Votes
    17 Posts
    1k Views
    Wo3DanW
    @sdmitch said: Great, I'm glad that it proved to be of some use. The version you have doesn't remove the edge and always just gives you the the first component in the definitions list. I have sent you, by Personal Message, a version that truly replaces the edge with the component as well as giving you a drop down list of all the components in the model to choose from. I'll try to look into it (the new version) tonight. Great about the drop down list of components. My memory doesn't always recall which component to type in. Now I can create dashed lines and proper centerlines (and other types), sort of a library to choose from. I may have one or two other suggestions:- (not always) delete the replaces edges, a choice so to speak. a choice whether all replacing components should be grouped or not. All 3D Polyline components into one big group (as visual reference) or not, by choice of the user. But I'll have to see /experiment with converting floor plans, symbols etc. to see what works best. And then I still have to rely on what you are willing to add. If anyone has suggestions or hints, please post them here.. Thank you!
  • Adding attributes help

    29
    0 Votes
    29 Posts
    2k Views
    tt_suT
    Yea, like you wouldn't feed raw user data to your database, you don't want to feed user data to eval. (I consider anything read in from the system or file to be "user data"). Validate and sanitize - this is the stuff you want to find a library that has solved all the edge cases for you.
  • Determine Whether a Point is 'in' a Volume

    8
    0 Votes
    8 Posts
    1k Views
    icehuliI
    is there a better solution for this now?
  • How to read material pixel ?

    5
    0 Votes
    5 Posts
    392 Views
    I
    Oh and one more.. I found something called 'ImageMajik' if i use those kind of external tool ,Can others use my .rb file without installing 'ImageMajik' in sketchup just by applying .rb to plugin folder ? if they don't need to install , let me know how to install those please.
  • Generating Texture Atlas for Gaming Performance?

    3
    0 Votes
    3 Posts
    1k Views
    V
    Thanks for the reply! I am absolutely amazed that the "only" sollution for this most fundamental function is a 300 euro plug-in. That's... very sad for a software as user-friendly as SketchUp. Well, I guess it will be wiser to man up and switch to Blender after all and get all I need for free. But still! Thank you for information.
  • Ruby Plugin - Inserted Component Wrong Scale

    6
    0 Votes
    6 Posts
    582 Views
    placidfuryP
    TIG, you rock. Thanks for the help (including all the other countless posts of yours I've read on other threads that have taught me so much so far). I think that got it after having it load once (with the exception of one situation where I need it to load separately each time - I have a 'container' component that other sub-components get inserted into, and if it's not reloaded, then the previous sub-component instances are in the new container instance as well, which I don't want). I also changed the path \, and float, and yes 0 length is getting trapped. I still have so much to learn...
  • Delete all layers via ruby

    6
    0 Votes
    6 Posts
    688 Views
    TIGT
    Yes everything. All entities in all entities-collections.
  • Testing Ruby VALUES in C-extension.

    69
    0 Votes
    69 Posts
    4k Views
    G
    Turns out it's a stdcall which has no mangling. I can debug the c extension in CBuilder. Very fast. Now I need to experiment with arguments etc. That will be the acid test for stdcall If anyone is interested I can post the files and the steps. Once I get a real good handle on this I'll try it out with XE7 which is a compiler that compiles Win32, Win64 and OSX. I will also test this on my lap top where Borland memory manager (a dll) doesn't exist. It will tell me if I need to include any of these files or not.
  • Multiple flip in component red axis

    5
    0 Votes
    5 Posts
    429 Views
    alexandre skA
    fantastic as always. Thank you slbaumgartner and sdmitch. The flip all x works perfectly! The sdmitch code already was great. This forum is always great. I will make a simple free plug-in to help road build, and share here when it is ready.
  • Drawing with GL

    24
    0 Votes
    24 Posts
    1k Views
    CadFatherC
    thanks John, already did that though (screenshot above is a watermark). the problem with this system is that you are forcing a new style on the user: if the user has a sketchy style on, you cannot have the bars and keep the sketchy style. (in other words we cannot load watermarks without loading a style as well). that's why i mentioned about another route: find user current style > save it as variable > load the 'grid' style > restore user style from variable when finished. alas, no way to get the previous style back in. whether from the 'in model' style, or trying to save it to a temp directory and loading it back from there. (at least i found no info at all anywhere). PS least of all the api docs!
  • Ruby c extension and Sketchup Objects

    8
    0 Votes
    8 Posts
    796 Views
    A
    Thank you Thom.
  • C++ using swig

    18
    0 Votes
    18 Posts
    2k Views
    thomthomT
    For my own extensions that I write now I usually drop support for anything older than SU2014 - due to Ruby 2.0 and other improvements since then.
  • Get MAC Address

    55
    0 Votes
    55 Posts
    5k Views
    G
    I've run into issues with taking the fist or second Mac Address out of ifconfig or ipconfig /all. I've changed the code to look at the entire file and then to step through it line by line and treat it as a bit of a state machine. Thanks to pgarmyn and Driven I think I've got some code that will work. They both helped with files as have a handful of other people. With windows I've tested files in English, French, Russian and some with VMWare set up. With OSX I've just tested in English. Mac Address
  • Retrieving bounding box corners Point3d

    6
    0 Votes
    6 Posts
    518 Views
    F
    @thomthom said: The BoundingBox object you get when you query the instance will always be oriented to world space. To get the bounding box as drawn in the UI you need to get the bounds of the definition - fetch all the points from its corners and transform them using the current edit_transform and the selected instance transform. That extension I linked to does all that. Ah! Thanks for the explaination ThomThom! I didn't realise that's what happened with instances' bounding boxes...very confusing for a novice! I did take the time to check out your extension and was able to understand what you're doing and apply that to my own code... thanks again sir!

Advertisement