[Plugin] bim-tools 0.13.4(june 22, 2015)

[Plugin] bim-tools 0.13.4(june 22, 2015)

Postby brewsky » Thu Jan 06, 2011 10:38 pm

Version 0.13.4:
It's now running on Mac (menu layout needs some more work).
Fix for SU8.
Partial fix for SU7: Auto-updating of modified objects does not work on SU7 because the "EntitiesObserver.onElementModified" method was added in SU8.

Download from SketchUcation plugin store:
http://sketchucation.com/pluginstore?pln=bim-tools






Version 0.13.2:
Improved monitoring of objects, feels much more solid!
Improved switching models without re-starting SketchUp
Improved undo
Fixed "reversed"-corners in flipped faces

Version 0.13.1:
Fixed switching between models without restarting SketchUp
bim-tools-0.13.1.rbz


Version 0.13.0:
Support for imperial units!
Thanks to the re-built menu (based on SKUI) it's finally possible to work in inches.
I removed the built-in IFC exporter for now and added some classifications for working with the official SU PRO IFC exporter.
I made some rather big changes under the hood, so if you encounter any problems, please let me know!
bim-tools-0.13.0.rbz


Version 0.12.4:
BIM-Tools working on SketchUp 2015!
Sorry for the absence, I'm up and running again ;)
Next in line "imperial units"

bim-tools-0.12.4.zip


The goal of this project is to create a building modeller plugin for SketchUp with a real sketchup-like workflow(not a revit clone) that can interact with all kinds of other BIM tools through the IFC file format(I hope to re-enable this soon!).

I feel the best way to stay in the sketchup-workflow is to just use sketchup-faces for defining as many building parts as possible. Most building parts like walls and floors can be perfectly represented by a face with thickness!

That’s just what we will do:
Draw a basic building design like you normally would using the normal sketchup tools.
bim-tools_0-10-02_step01.jpg

Select it’s faces and convert them to walls and floors with thickness(and meaning!) Using the shown "create"-button in the toolbar.
bim-tools_0-10-02_step02.jpg

Change thickness and other properties using the dialog. Open dialog with "window"-button.
bim-tools_0-10-02_step03.jpg

Use the "toggle"-button to switch back to the original faces.
Modify them if you like by moving/stretching, you will see the building parts move along!
bim-tools_0-10-02_step04.jpg

Create windows by cutting holes in the faces.
Or place self-cutting components! http://support.google.com/sketchup/bin/answer.py?hl=en%26amp;answer=114533
bim-tools_0-10-02_step05.jpg

Press the "toggle"-button again to see the the openings.
bim-tools_0-10-02_step06.jpg

Add some section lines to better see the results!
bim-tools_0-10-02_step07.jpg


Have fun!

Old versions:
Version 0.12.2:
Added a button to switch between manual and automatic mode.
When on manual mode all observers are disabled, this is faster when you are not editing BIM-Tools elements and should make sure that the plugin can never interfere with other active plugins.
bim-tools-0.12.2.zip

bt-0.11.0-screenshot-sketchup.png
bt-0.11.0-screenshot-ifc.png

Version 0.12.0:
  • The plugin is stable!
  • Improved IFC export(Walls/floor-slabs/roof-slabs, still needs work)
bim-tools-0.12.0.zip

Version 0.11.0:
  • Re-implemented basic IFC export(IfcPlate elements only)
bim-tools-0.11.0.zip

Check out the screenshots of some weird shape I exported to IFC.
The IFC file needs a lot more "input"(building data) to be really useful(and proper connections between elements), but the basic exporter is working again! :D
Version 0.10.6:
  • added option to change wall length and height
  • Fixed bug in "remove BIM properties tool"
bim-tools-0.10.6.zip

Version 0.10.5:
  • Re-implemented "original" walls-from-edges tool

Version 0.10.4:
  • Added button for removing BIM properties from source-faces
  • Faces on the connection between elements are placed on a separate layer to improve sections

Version 0.10.3:
  • Re-implemented self-cutting components!
bim-tools-0.10.3.zip

See screenshot:
bim-tools_0-10-03.jpg

Tutorial BIM-tools 10.0.3


bim-tools-0.9.2.zip
1
Last edited by brewsky on Mon Jun 22, 2015 10:09 pm, edited 27 times in total.
User avatar
brewsky 
PluginStore Author
PluginStore Author
 

Re: Plugin: Create walls from edges

Postby Dan Rathbun » Fri Jan 07, 2011 3:03 pm

There is a importer IFC2SKP
http://www.ohyeahcad.com/ifc2skp/index.php

they were working on an exporter at one time... it never was released as far as I can tell.
http://ifc2skpforum.websitetoolbox.com/post?id=2515651
0
    I'm not here much anymore. But a PM will fire email notifications.
    User avatar
    Dan Rathbun 
    PluginStore Author
    PluginStore Author
     

    Re: Plugin: Create walls from edges

    Postby Cleverbeans » Fri Jan 07, 2011 6:53 pm

    An IFC exporter in Sketchup is non-trivial since all the metadata would need to be custom coded, so it basically boils down to reimplementing the IFC framework within Sketchup. The main issue is identifying what the geometry is intended to be. I expect you could do it for a limited scope such as floor plans with a bit of effort.
    0

    Cleverbeans 
     

    Re: Plugin: Create walls from edges

    Postby Didier Bur » Fri Jan 07, 2011 9:06 pm

    Hi,
    Just a side note: to install, create a folder "bimtools" in the Plugins folder, and put the html file in it.
    0
    Didier Bur (Bytes Farmer)
    Ecole Nationale Supérieure d'Architecture de Nancy (F)
    http://rld.crai.archi.fr/rubylibrarydepot/
    User avatar
    Didier Bur 
     

    Re: Plugin: Create walls from edges

    Postby brewsky » Fri Jan 07, 2011 10:25 pm

    Didier Bur wrote:Hi,
    Just a side note: to install, create a folder "bimtools" in the Plugins folder, and put the html file in it.


    Hi Didier! Thanks for the explanation. I forgot to mention how to install and use it.

    Here some additional info:
    • The plugin creates a "BIM Tools" option in the plugins menu.
    • When you select this, a webdialog appears with options(wall-width and wall-height).
    • Select some edges(they must be horizontal) and click the button in the dialog, it will generate a wall section on every edge with the given width and height.

    It nicely fixes the corners of all connecting edges, except for walls with different widths/heights and for very short edges.
    intersecting-walls.jpg

    I was browsing the forum today and noticed that Thomthom's street generator uses a similar principle. the biggest difference seems to be that my walls are separate objects and the streets are nicely glued together(and have a lot more options).
    0
    Last edited by brewsky on Sun Dec 11, 2011 12:37 pm, edited 1 time in total.
    User avatar
    brewsky 
    PluginStore Author
    PluginStore Author
     

    Re: Plugin: Create walls from edges

    Postby brewsky » Fri Jan 07, 2011 11:15 pm

    Dan Rathbun wrote:There is a importer IFC2SKP
    http://www.ohyeahcad.com/ifc2skp/index.php

    they were working on an exporter at one time... it never was released as far as I can tell.
    http://ifc2skpforum.websitetoolbox.com/post?id=2515651

    I've tried the IFC2SKP importer some time ago. Works pretty well!
    At work we are getting more and more IFC files, especially models of steel structures made in in Revit.

    An exporter won't be as simple as an importer I guess. Somehow you need to add "building properties" to the "empty" SketchUp geometry.

    That's exactly what I want to do, not try to re-build revit/archicad in sketchup, but create simple building elements that can be translated/labeled to meaningful objects, which could be re-used(via IFC) in CAD systems.
    • faces can be given thickness and labeled "wall", "floor" or "roof"
    • edges can be used as paths for profiles(like my current plugin) and labeled "wall", "floor" or "beam"
    I don't think there's much difference between a wall and a floor, so it could suffice to label these kinds of objects for conversion to IFC.

    A tricky part is relations between objects. I think this can be done partly by keeping the base geometry as handlers. If a bounding edge of a floor plane is the same edge as the wall profile, then this edge's position/length can be the relation between floor(room/space) and wall.
    0
    User avatar
    brewsky 
    PluginStore Author
    PluginStore Author
     

    Re: Plugin: Create walls from edges

    Postby Dan Rathbun » Sat Jan 08, 2011 5:54 am

    brewsky wrote:
    Dan Rathbun wrote: Somehow you need to add "building properties" to the "empty" SketchUp geometry.

    See the API on AttributeDictionaries collection and AttributeDictionary class objects.

    They can be attached to almost anything, including Layers, Scenes, etc. as well as base geometry, and Groups and Components.

    There was a very long discussion in the General Sketchup Forum, (no activity since Sep.) here's the link:
    Could SketchUp be transformed to a BIM or PEN System?
    (It might be a good idea to post a notice in there, as those people interested, may come on over to this topic and discuss the Development.)
    0
      I'm not here much anymore. But a PM will fire email notifications.
      User avatar
      Dan Rathbun 
      PluginStore Author
      PluginStore Author
       

      Re: Plugin: Create walls from edges

      Postby chrisglasier » Sun Jan 09, 2011 4:55 am

      Dan Rathbun wrote:
      brewsky wrote:
      Dan Rathbun wrote: Somehow you need to add "building properties" to the "empty" SketchUp geometry.

      See the API on AttributeDictionaries collection and AttributeDictionary class objects.

      They can be attached to almost anything, including Layers, Scenes, etc. as well as base geometry, and Groups and Components.

      There was a very long discussion in the General Sketchup Forum, (no activity since Sep.) here's the link:
      Could SketchUp be transformed to a BIM or PEN System?
      (It might be a good idea to post a notice in there, as those people interested, may come on over to this topic and discuss the Development.)


      brewsky wrote:Anyone interested in some more BIM discussion? ;)
      Please check out my topic:
      viewtopic.php?f=180&t=34007

      - jan


      As I see it the intent of your plugin is to automate part of the creation of a model. This is fine but to me it is like banks providing a way to digitally write cash cheques rather than providing ATMs. The building industry hates real change and the IT industry is very happy to supply it with technology that comes with no information - i.e it requires typed input (see Dan's comment above). This is also true of word processing, spreadsheets and other digitised paperwork apps.

      Your edges ... where do they come from? They are the result of design, no? Do you think it would be better to define the relationship between spaces - access, privacy, fire, sound and other such criteria - and then generate the dividers from that?

      In other words would it be better to select criteria from existing know-how and get technology to search for and display possible solutions - a mashup of Sketchup, Napster and Twitter with a twist of straightforward commercial trading perhaps?
      0
      With JSON machines we can analyse what is to be achieved so that IT can help with automation to achieve it.
      User avatar
      chrisglasier 
      PluginStore Author
      PluginStore Author
       

      Re: Plugin: Create walls from edges

      Postby Dan Rathbun » Sun Jan 09, 2011 4:38 pm

      brewsky wrote:I know the name BIM tools sounds a bit "grand" for a simple thing as this but, who knows where it ends...

      Using the name "BIM Tools" is much too generic.

      It likely to clash with other plugins using that identifier.

      Fortunately, Ruby has a way of separating YOUR "BIM Tools" from say, MY "BIM Tools". It's called a namespace, which is created using a module.

      For example, pretend I decide to distribute all my plugins under the hypothetical 'brandname' of DanCo, and you decide to use JanInc. (Just examples, I had to come up with two 'company' names.)

      All your (and my,) various IFC and BIM tools (importers, exporters, data manipulators, drawing tools, etc.) would need to 'reside' and 'operate' within our specific namespace, so as not to clash with one another.

      Here's an example
      Code: Select all
      module JanInc  # <-- your toplevel namespace
        module BIM
          class IFC_Properties < Hash
            # a subclass of hash that holds
            # IFC data items
          end
          module SKP2IFC
            # exporter code
          end
        end # BIM
      end # JanInc

      and
      Code: Select all
      module DanCo  # <-- my toplevel namespace
        module BIM
          class IFC_Properties < Hash
            # a subclass of hash that holds
            # IFC data items
          end
          module SKP2IFC
            # exporter code
          end
        end # BIM
      end # DanCo

      In this way.. the two classes IFC_Properties would not interfere with one another because they are in different namespaces.
      JanInc::BIM::IFC_Properties as oposed to DanCo::BIM::IFC_Properties

      Since all your code that uses or references class IFC_Properties runs within the JanInc namespace, it can be refered to as BIM::IFC_Properties; or if your code is running within the JanInc::BIM namespace it can be refered to as just IFC_Properties. Ruby will find and use yours and not mine. Ruby does not start at the top when looking for objects, instead it begins it's search in the local namespace, if it does not find a IFC_Properties, it backs out one namespace and looks again, and so forth until it finds a class IFC_Properties (or doesn't and raises an exception error.)
      Just as you can specify an absolute path for a file system, you can also do this for a namespace qualification in Ruby, by using the toplevel scope prefix "::", ie:
      ::JanInc::BIM::IFC_Properties tells Ruby to go right to the toplevel (main) and use that object with the specified nesting.

      See my [info] topic on [info] Using Ruby Modules


      * note: Ruby v1.8.0 interpreter does not recognize the toplevel scope prefix operator. (Sketchup v 6.x / 7.x on PC, would need to update their interpreter DLL.)
      0
        I'm not here much anymore. But a PM will fire email notifications.
        User avatar
        Dan Rathbun 
        PluginStore Author
        PluginStore Author
         

        Re: Plugin: Create walls from edges

        Postby pbacot » Sun Jan 09, 2011 9:43 pm

        On a practical note, have you been using this tool in design? I do generally start with an outline of exterior walls in plan, but then all the walls become double lines after that. I am not sure how I would adjust my design to create all single lines then go to the model. I develop where the lines go by measuring the spaces contained and not sure I could design a plan just drawing center lines of walls. I never refer to the center line of walls in final plans.

        For me BIM or parametric software would provide an interactive and changeable interface where I could move a wall in a traditional floor plan (shown in double lines, windows, door, etc.) and have the model updated and vice versa.
        0
        MacOSX (El Capitan) ShetchUp Pro v16 Layout Twilight Pro v2 M2 Kerkythea PowerCADD
        User avatar
        pbacot 
        Top SketchUcator
         

        Re: Plugin: Create walls from edges

        Postby brewsky » Sun Jan 09, 2011 10:19 pm

        pbacot wrote:On a practical note, have you been using this tool in design?

        Not yet, and I wonder if it would be really useful at this moment without the ability to simply insert doors/windows.

        I started with this test case because at work we use sketchup a lot for concept-design for the exteriors of buildings. Drawing an interior is much more work, especially because you need "thick" walls, and cutting openings isn't that simple anymore. Very often a rough floor plan is drawn as single-line-drawn spaces to get an idea of dimensions.
        I figured that it would be handy to be able to instantly convert this "floorplan" to interior walls to put inside the model.

        I wrote the script with the idea to replace the wall-height/wall-width with a profile component. In this case it would be possible to create a left or right aligned wall if that's preferred to placement on the centerline.

        This plugin is for me a starting point to experiment with simple ways to create meaningful building information inside Sketchup, and get it out again! :)

        In my next post I will outline my ideas and try to answer some of the other questions, I have to think about that a bit :)

        - Jan
        0
        User avatar
        brewsky 
        PluginStore Author
        PluginStore Author
         

        Re: Plugin: Create walls from edges

        Postby brewsky » Sun Jan 09, 2011 10:39 pm

        Dan Rathbun wrote:See the API on AttributeDictionaries collection and AttributeDictionary class objects.

        They can be attached to almost anything, including Layers, Scenes, etc. as well as base geometry, and Groups and Components.

        These attributes are indeed exactly what you need to export meaningful data. I knew something like that existed but didn't check it out jet. Sounds really useful, especially when you can also use it on layers and the like...

        Here in the Netherlands we have the TNO research institute(I don't know how well known they are internationally?), and they do a lot of good work on the IFC standard.
        They also make the "IFC Engine DLL", a freely(as long as the project is not commercial) usable library for IFC files.
        http://www.ifcbrowser.com/ifcenginedll.html
        I read something about the ability to use "Windows 32 API" functions in sketchup, AND the ability to use DLL's from ruby.
        Does anyone know if this could be "do-able", or does it have a lot of implications (MAC???).
        It might make exporting IFC from Sketchup a bit easier...
        0
        User avatar
        brewsky 
        PluginStore Author
        PluginStore Author
         

        Re: Plugin: Create walls from edges

        Postby Dan Rathbun » Mon Jan 10, 2011 2:01 am

        brewsky wrote: Does anyone know if this could be "do-able", or does it have a lot of implications (MAC???).
        It might make exporting IFC from Sketchup a bit easier...

        Yea.. I downloaded the TNO packages last year and looked at them. They are WIN dependant. (Both the DLL and the ActiveX control.)

        Making Win32API calls from Ruby is doable, but it's a bit low level. What I would do (if I had to,) is write a Ruby wrapper library for all the functions in the TNO DLL. An alternative is to write the wrapping in C or C++ and compile a so file.
        Either way, it's a major project. And that is all before you actually get to writing the actual Sketchup plugin.

        For Mac, the TNO would need to have an Apple Objective C guru translate the C++ source and compile it with Xcode.

        I didn't think it was worth it.. as IFC is an XML data file. Ruby already has libraries to work with XML files, that are cross platform.
        0
          I'm not here much anymore. But a PM will fire email notifications.
          User avatar
          Dan Rathbun 
          PluginStore Author
          PluginStore Author
           

          Re: Plugin: Create walls from edges

          Postby brewsky » Mon Jan 10, 2011 11:24 pm

          chrisglasier wrote:As I see it the intent of your plugin is to automate part of the creation of a model.

          This plugin in itself is meant to automate the creation of simple wall objects. But the reason I made it is to have the ability to easily create some meaningful objects that can be used as testcase for an IFC exporter.

          chrisglasier wrote:Your edges ... where do they come from?

          They are indeed the result of design.
          I don’t think designers want a tool that generates floorplans/buildings from a set of rules/demands. Although it would be really cool to compare your design with “the perfect” computer generated floorplan :).

          But they DO like the ease of drawing in sketchup! If you could just make the creation of meaningful objects really easy even the building industry should not object :)

          I have been thinking that it would be really neat to just be able to select all the faces of a low poly concept-model representing for instance the “roof”, and than “with a click” convert these to a slab with thickness and all the necessary attributes of a “roof-object”. And than do the same for exterior walls etc.

          But all these attributes have no use without the ability to export them.

          chrisglasier wrote:In other words would it be better to select criteria from existing know-how and get technology to search for and display possible solutions

          I think we will need the software that advises in all kinds of areas like fire-compartiments, sound and the like you mentioned. But shouldn’t that be a different project altogether? Or even separate projects based on the area of expertise?
          Isn’t that the meaning of BIM, create a model out of meaningful objects so other parties or tools can read it and add the requested extra information from the area of expertise(or check it for problems)?
          These tools themselves would be great projects to work on! What if this existing know-how could be made available freely using “semantic web”. And could have your spaces-tool(by example) search by itself for the minimum dimensions of a functional “livingroom”. I see a lot of possibilities. Big problem remains that a lot of the needed know-how is corporately owned and people rather pay them than use some “unofficial” source. I don’t know how it is in other countries, but over here in the Netherlands even a large part of the regulations are written in copyrighted books!!!

          Interesting topic to discuss! :)

          And now to the point I was getting to!

          The reason I got myself into Sketchup scripting was because I have a couple of BIM-related things on my mind on which I would like to do some research...
          • Be able to just select some faces(together with cutting-components) to generate walls/floors/roofs, or lines(together with a profile-component) to generate colums/walls etc. I don’t like the concept of most BIM systems that a wall has to be defined “this way” and a roof “that way”, and that while they are not fundamentally different. The greatest difference is the “label”, and then, because of the label, the way they react to other objects.
          • Why do they tell it’s not possible(or advisable) to model every part of a building including tiny details? Things you WOULD add in a 2d detail drawing... The first thing you would need than is an easy way to define what’s visible at a given view because it would not be a workable model. But after that, allmost every detail could be is just an extrusion of a “profile-component” along a path. With some basic rules to solve the corners(based on properties/materials) drawing them in 3d should not be that much more complicated than drawing them in 2d. If a window could be defined by a square drawn on a sketchup face, than the square itself could be given the properties of “glass”, the base face could be wall, and the 4 adges of the window could be extrusion paths for the “window-frame+every-bit-of-detail-you-need”. And as long it is linked (with observers) to the original profile-component it would be editable as well. Just regenerate it after the profile is edited...
          • Export all...

          Your opinions please :D
          0
          User avatar
          brewsky 
          PluginStore Author
          PluginStore Author
           

          Re: Plugin: Create walls from edges

          Postby brewsky » Mon Jan 10, 2011 11:28 pm

          Dan Rathbun wrote:It likely to clash with other plugins using that identifier.

          And Dan, thanks for your tips on namespaces, I will really need that. Especially when things get a bit more complex, with possibly separate modules. And of course names that other people might have used!
          0
          User avatar
          brewsky 
          PluginStore Author
          PluginStore Author
           

          Re: Plugin: Create walls from edges

          Postby Dan Rathbun » Tue Jan 11, 2011 12:51 am

          brewsky wrote:
          Dan Rathbun wrote:It likely to clash with other plugins using that identifier.

          And Dan, thanks for your tips on namespaces, I will really need that. Especially when things get a bit more complex, with possibly separate modules.

          Oh you will definately need many module and class blocks to divide up the functional code, otherwise it will become unmanagable very quickly.

          brewsky wrote:And of course names that other people might have used!

          This will NOT be a problem, IF you follow my advice, and invent a unique toplevel namespace identifier. (The name of the module that encapsulates ALL your submodules and classes.)

          brewsky wrote:Big problem remains that a lot of the needed know-how is corporately owned and people rather pay them, than use some “unofficial” source.

          So.. would your project be a pay-for plugin, or a free open source project?

          A free open source version can be used by workflow firms (such as Onuma,) that would charge customers to use it. The strange thing (which you say,) is that these customers would and do pay these firms rather than use the 'project' version. I guess they think the service firm has verified the product's quality, or ironed out all the wrinkles.

          Anyway.. you'd need to decide, and look into what license you want the project to be released under. (GPL, BSD, MIT, etc.)
          See: Wikipedia: Software License

          brewsky wrote:I don’t know how it is in other countries, but over here in the Netherlands even a large part of the regulations are written in copyrighted books!!!

          Not uncommon.. even here. Usually the copyright is to prevent 'scalpers' from trying to resell copies of the standards or specifications. Some organizations will sell copies for around a hundred bucks each (ANSI), others will have them freely downloadable as PDF files.
          0
            I'm not here much anymore. But a PM will fire email notifications.
            User avatar
            Dan Rathbun 
            PluginStore Author
            PluginStore Author
             

            Re: Plugin: Create walls from edges

            Postby chrisglasier » Tue Jan 11, 2011 3:55 am

            brewsky wrote: But the reason I made it is to have the ability to easily create some meaningful objects that can be used as testcase for an IFC exporter.


            In other words your main focus is essentially on paperwork type processes. But if you thought about object oriented information technology you could develop ideas how to identify and assemble objects and still produce traditional project documentation. A bit like creating a website that has potential to do many things but just using it to display a paper-like catalogue.

            brewsky wrote:I don’t think designers want a tool that generates floorplans/buildings from a set of rules/demands.


            You know it just might be site owners demand use of OOIT for its transparency and accountability, and designers have to comply.

            brewsky wrote:Although it would be really cool to compare your design with “the perfect” computer generated floorplan


            I think the reverse would happen; it would take a great deal of setting and resetting the criteria to reduce the options to say ten. Actually this is a way of delaying subjective judgement, providing a very high degree of accountability. Of course many designers rely on intuition, which is fine if the logical testing, which naturally follows any such lateral thinking proves it correct (which is one reason why building contracts are such a hassle).

            brewsky wrote: they DO like the ease of drawing in sketchup! If you could just make the creation of meaningful objects really easy even the building industry should not object :)


            I suggest ... would respect, because you know buildings are not really built from drawings and specs. They are built from interpretations of them, as thumbnail sketches, setting out lines, purchase orders and so on. How much better a series of instructions: "Buy this; put it here" rather than "Need this, put it on the drawing (making sure the information is scattered over plans, sections, schedules and specification)"

            brewsky wrote:Your opinions please :D


            I am sorry I have run out of steam and time for the time being but you could have a look at my website for some examples what can be achieved. I know it is difficult to see beyond improving what already exists - e.g. evolving models from orthogonal drawings - most often the basis for competitive tendering. Toffler wrote: "Static competition may have produced the thoroughbred racehorse but it could never have produced the automobile." Competition in the building industry is static, something more dynamic is needed ... don't you think?
            0
            With JSON machines we can analyse what is to be achieved so that IT can help with automation to achieve it.
            User avatar
            chrisglasier 
            PluginStore Author
            PluginStore Author
             

            Re: Plugin: Create walls from edges

            Postby brewsky » Tue Jan 11, 2011 11:09 am

            Dan Rathbun wrote:So.. would your project be a pay-for plugin, or a free open source project?

            Currently I have put in a reference to the GPL in the header of the script(default from the Geany-editor). Seems to me to be the best licence. I want to make it open source. I didn't do a lot of research, for one I don't know if there are restrictions in the GPL for using the licence for plugins that only work wit proprietary software? I'd like to keep it open source, so MIT does not seem the best choice. I need to read some more on that!

            Oh, and another question:
            How do you keep class instances through multiple sketchup sessions? Is it possible to create a class "wall", fill an instance with properties, and make a sketchup object "part" of the instance(or vice versa)? And still be able to call methods from that class after restarting sketchup without recreating the class-instance from the sketchup geometry(and attributes)?
            0
            User avatar
            brewsky 
            PluginStore Author
            PluginStore Author
             

            Re: Plugin: Create walls from edges

            Postby Dan Rathbun » Tue Jan 11, 2011 5:10 pm

            brewsky wrote:
            Dan Rathbun wrote:So.. would your project be a pay-for plugin, or a free open source project?

            Currently I have put in a reference to the GPL in the header of the script ... I want to make it open source. ..., so MIT does not seem the best choice.

            There is also the Artistic License 2.0

            For more: Various Licenses and Comments about Them
            0
              I'm not here much anymore. But a PM will fire email notifications.
              User avatar
              Dan Rathbun 
              PluginStore Author
              PluginStore Author
               

              Re: Plugin: Create walls from edges

              Postby Dan Rathbun » Tue Jan 11, 2011 5:42 pm

              brewsky wrote:
              How do you keep class instances through multiple sketchup sessions?

              Data files saved to disk. (It's easiest, if the data is linked to a certain model object, to save it within the SKP file, as attributes attached to the object. Trying to keep any 2 or more files in sync, has proven problematic IMHO.)

              brewsky wrote: Is it possible to create a class "wall", fill an instance with properties, and make a sketchup object "part" of the instance

              Sort of.. the Sketchup object would be referenced by the class instance, using an instance variable. Also the Properties would be loaded from the attribute dictionary attached to the SKP object(s), (either a component or a group,) into the class instance's properties Hash (or Ostruct.)

              brewsky wrote: (or vice versa)?

              NO. The SKP file's DOM, does not support creating custom Drawingelement subclasses. There are rigid methods for adding only the defined object classes into the model DOM. (see the Entities class methods.)
              Afterall.. the application needs to know how to draw the model object classes. Allowing a infinate number of them would "open Pandora's box."

              This is why your IFC objects will really be Groups (or Components) "owning" primitives or other nested Groups (or Components.)

              brewsky wrote:And still be able to call methods from that class after restarting sketchup without recreating the class-instance from the sketchup geometry (and attributes)?

              NO. When restarted, even Sketchup has to recreate the Ruby Sketchup API objects after loading the Ruby Interpreter, and then it's C++ model objects (which are exposed to Ruby via the API,) by reading in a SKP file from disk.
              0
                I'm not here much anymore. But a PM will fire email notifications.
                User avatar
                Dan Rathbun 
                PluginStore Author
                PluginStore Author
                 

                Re: Plugin: Create walls from edges

                Postby brewsky » Tue Jan 11, 2011 6:59 pm

                Dan Rathbun wrote:This is why your IFC objects will really be Groups (or Components) "owning" primitives or other nested Groups (or Components.)

                Dan Rathbun wrote:NO. When restarted, even Sketchup has to recreate the Ruby Sketchup API objects after loading the Ruby Interpreter, and then it's C++ model objects (which are exposed to Ruby via the API,) by reading in a SKP file from disk.


                Ok very clear, thanks!
                I thought about it because I heard Java can write full class-instances to disk...
                0
                User avatar
                brewsky 
                PluginStore Author
                PluginStore Author
                 

                Re: Plugin: Create walls from edges

                Postby brewsky » Tue Jan 11, 2011 7:04 pm

                Dan Rathbun wrote:I didn't think it was worth it.. as IFC is an XML data file. Ruby already has libraries to work with XML files, that are cross platform.

                Do you advise using IFC XML? I read somewhere that using the original "step" variant was faster...
                0
                User avatar
                brewsky 
                PluginStore Author
                PluginStore Author
                 

                Re: Plugin: Create walls from edges

                Postby brewsky » Tue Jan 11, 2011 7:13 pm

                Oh and another question pops into my mind.
                it seems regular practice to host source files her on the forum.
                Woudn't it be easier to use google code or sourceforge to manage all the different versions?
                0
                User avatar
                brewsky 
                PluginStore Author
                PluginStore Author
                 

                Re: Plugin: Create walls from edges

                Postby Dan Rathbun » Wed Jan 12, 2011 4:07 am

                brewsky wrote:Oh and another question pops into my mind.
                it seems regular practice to host source files her on the forum.

                When it is a code snippet, or a relatively small, stand alone plugin, it's just easier to post a zip file here.
                brewsky wrote:Woudn't it be easier to use google code or sourceforge to manage all the different versions?

                For a project like yours... during the development, a google code site, github site, or a project site at RubyForge may be needed.
                0
                  I'm not here much anymore. But a PM will fire email notifications.
                  User avatar
                  Dan Rathbun 
                  PluginStore Author
                  PluginStore Author
                   

                  Re: Plugin: Create walls from edges

                  Postby Dan Rathbun » Wed Jan 12, 2011 4:41 am

                  brewsky wrote:
                  Dan Rathbun wrote:I didn't think it was worth it.. as IFC is an XML data file. Ruby already has libraries to work with XML files, that are cross platform.

                  Do you advise using IFC XML? I read somewhere that using the original "step" variant was faster...

                  Well pehaps (I didn't know of STEP, until you said this,)...
                  Wikipedia says that the STEP files are the most widely used, so support for them would be a good idea. Unfortunately, ISO wants 180 euros (I think,) for the a copy of 10303-21.

                  On the other hand the IFC XML Schema was a free download.

                  Personally I can more easily read and understand the XML. (The Step files look like a nasty crossbreed between C and COBOL.)
                  0
                    I'm not here much anymore. But a PM will fire email notifications.
                    User avatar
                    Dan Rathbun 
                    PluginStore Author
                    PluginStore Author
                     

                    Re: Plugin: Create walls from edges

                    Postby brewsky » Wed Jan 19, 2011 10:00 pm

                    chrisglasier wrote:In other words your main focus is essentially on paperwork type processes.

                    Not essentially, but all my experiences and day-to-day "annoyances" are related to the "paperwork type process". So the first ideas that come to mind are very practical and probably narrow-minded ways to improve the existing process.
                    When modelling a building it's very important to create an interlinked relational model instead of a "loose" collection of walls and floors.
                    Probably the most effective way would be to write a long list of relations(following a list of demands) and have a piece of software generate the "best" building.
                    But also a reversed(intuitive) process should work. In the old-school-way draw lines, define them as walls/spaces. Think about the "why" of every element and link all parts together. The greatest difficulty here is that because the plan originated from an intuitive process it can be hard to figure out exactly why you chose to place an element in a specific place. Although i'm confident that there is allways a reason AND a relation in the choice.

                    chrisglasier wrote:You know it just might be site owners demand use of OOIT for its transparency and accountability, and designers have to comply.

                    I spoke about this subject with some architects and they thought it could be "fun" designing by setting relations and let the computer solve the puzzle. They liked to see if it would find the same solution.

                    chrisglasier wrote:"Buy this; put it here"

                    I do think that "a picture is worth a thousand words". "Buy this; put it here" would create an immense list for even the simplest building. An interesting visualized variation could be to create LEGO-like building instructions(I believe the guys at LDraw.org have nicely automated that!)

                    Chris, thanks for your replies, every one of them gives me something to think on :D
                    0
                    User avatar
                    brewsky 
                    PluginStore Author
                    PluginStore Author
                     

                    Re: Plugin: Create walls from edges

                    Postby brewsky » Wed Jan 19, 2011 10:08 pm

                    Dan Rathbun wrote:For a project like yours... during the development, a google code site, github site, or a project site at RubyForge may be needed.

                    I've set up a repository at google-code
                    http://code.google.com/p/bim-tools/

                    And spent a couple of evenings figuring out what-the-heck this Mercurial thing was. And found out I've been using it partly myself way earlier while trying to merge linux config files :D

                    I've uploaded my plugin. Now on to something usefull...
                    0
                    User avatar
                    brewsky 
                    PluginStore Author
                    PluginStore Author
                     

                    Re: Plugin: Create walls from edges

                    Postby chrisglasier » Thu Jan 20, 2011 2:55 am

                    brewsky wrote:
                    chrisglasier wrote:"Buy this; put it here"

                    I do think that "a picture is worth a thousand words". "Buy this; put it here" would create an immense list for even the simplest building. ...


                    The reverse is also true as you suggest with your immense lists - it takes a thousand words to make a picture. And this is the real point immense lists are needed (I know I have been responsible for many.) They won't go away but the question is who makes them and how.

                    From the very start a designer starts to build lists, mentally or physically, names of spaces, elements, services and so on. If these can be captured many people can help to expand the lists of names and attach key/value pairs to describe each of them - kind of collective thinking out loud.

                    As the names represent physical objects they can be arranged in hierarchical relationships and if there are components with the same names can display alternative models backed up with data. This cannot be achieved with paperwork type processes, it needs machines that can communicate over the Internet. Rather than create walls from edges I want (and have done) to make machines from names.
                    0
                    With JSON machines we can analyse what is to be achieved so that IT can help with automation to achieve it.
                    User avatar
                    chrisglasier 
                    PluginStore Author
                    PluginStore Author
                     

                    Re: Plugin: Create walls from edges

                    Postby honoluludesktop » Thu Jan 20, 2011 4:35 am

                    IMO the difference between building the moon landing vehicle, and a house. Is that the first has a complex, but easily stated mission. Go to the moon, and get the astronauts back to earth. A house on the other hand, is fairly simple, yet accomplishes the complex mission required to shelter, and advance the institution family.

                    It was Louis Kahn that taught the difference between art and architecture. An Artist can express the futility of war by drawing a cannon with square wheels, an Architect must make them round. He poetically mused that a brick "wants to be an arch". That ultimately Architecture has a immutable unseen form that fixes it's place in human culture.

                    A fork has an essential form that makes it a fork. It matters little that it is baroque, or modern in style. The Architect's skill is to deduce this essential form.
                    0
                    User avatar
                    honoluludesktop 
                    In Remembrance
                     

                    Re: Plugin: Create walls from edges

                    Postby brewsky » Sun Jan 23, 2011 7:44 pm

                    Dan Rathbun wrote:I didn't think it was worth it.. as IFC is an XML data file. Ruby already has libraries to work with XML files, that are cross platform.

                    Hi Dan,

                    It seems no ruby XML libraries are included with SketchUp, is this correct?
                    Is there an easy way to add, for example, REXML to my plugin directory instead of requiring a full ruby install for every user?

                    -Jan
                    0
                    User avatar
                    brewsky 
                    PluginStore Author
                    PluginStore Author
                     

                    SketchUcation One-Liner Adverts

                    by Ad Machine » 5 minutes ago



                    Ad Machine 
                    Robot
                     

                    Next


                     

                    Return to Plugins

                    Who is online

                    Users browsing this forum: yurimendes and 6 guests

                    Visit our sponsors: