BIM for SketchUp - again?
-
brewsky and others
Based on your comments, there are two possible pathways:
BIM as in: be able to attach BIM properties and parameters to an entity. That's it, these parameters do not influence the entity when changed.
BIM as in: when changing IFC parameters/properties teh entity is changed accordingly, even more, when adjectent entities are influenced they also change if needed (bit like Revit)As you can see, the first option is easy, but what is the added value?
brewsky, can you pm me your contact info, I'm located in Belgium, maybe we can have a chat.
-
@pout said:
Based on your comments, there are two possible pathways:
BIM as in: be able to attach BIM properties and parameters to an entity. That's it, these parameters do not influence the entity when changed.
BIM as in: when changing IFC parameters/properties teh entity is changed accordingly, even more, when adjectent entities are influenced they also change if needed (bit like Revit)I agree, the more information you've got, the more usable it becomes...
This goes for every bim-plugin, but also for a basic common framework...But even if you just have 4 labels; "width=100", "length=6000", "height=3000", ifctype="IfcWallStandardcase" AND the default sketchup information of a group/component; "placement point" and "placement vector", can tell you a whole lot about the wall!
The more "standard definitions" we as plugin builders can agree on, the better it gets. You could even agree on a basic Sketchup::Ifc module that contains a few classes for maybe ifc-export/import, generating globally unique id's(guid) and managing ifc-units...
-
The added value of the first approach, is that SU can be integrated into an existing (or new) BIM workflow.
So users can use SU in conjunction with Revit, Microstation, Archicad, Vectorworks etc.
-
On the question of 'GUID'... like
af8f4bfc-2604-43ec-acf1-489b153db0d6
To make a unique GUIDs I'd use a method that does something like this:def new_guid() guid='' (0..35).to_a.map{|a| rand(16).to_s(16) }.each_with_index{|e,i| e='-' if[8,13,18,23].include?(i) guid << e } return guid end
The reference you get from
guid=new_guid()
is now a unique GUID following recognized standards for any GUID...
You should never get two the same! -
@tig said:
You should never get two the same!
That sounds great! When i saw the guid guidelines for IFC it looked like a difficult thing to get to work on both Mac and PC... There seems to be some kind of standard, made by "open group"?
http://buildingsmart-tech.org/implementation/get-started/ifc-guid
http://buildingsmart-tech.org/ifc/IFC2x4/alpha/html/ifcutilityresource/lexical/ifcgloballyuniqueid.htmBut if your method is equally random(and i don't really see the difference between one random string of characters and another) it should not be a high priority task to try and make an "official" guid...
-
My GUID example was a general one [as required for Revit .addin files etc] - a typical type of 'Standard' [DWF] GUID.
DWF GUID = 60f91daf-3dd7-4283-a86d-24137b720ed1
IFC GUID = 1W_HslFTT2WwXj91DxSWxHThe IFC GUID is 'identical' to the DWF GUID in Revit.
It is simply encoded in a different format to create a shorter text representation to save a few bytes in a text-based IFC file.The simplest way of making a random compliant IFC GUID text string is this:
guid='';22.times{|i|guid<<'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$'[rand(64)]}
giving you id's like
puts guid >>> O8lUvCXkuWi1_9ntMidtBk
or perhaps
Y25qn6yMgfCFj9yD$nPhgY 7FBtUWbd28V7Xn3D_20fCm _Rjg3mwn1Ev_PHtYfByEQh
etc
Note also how IFC uses_$
and not the expected+/
Base64 standard as the last two possible 'numerals'...
You can invent a way of translating between the two... BUT I can't see why you need to [at this stage] if the IFC format is the intended medium used to swap data - use the same code for both the SKP guid's and the IFC ones ? Comparing 'strings' is slower in Ruby than numbers, so converting a number SKP guid to an IFC one might be preferable ?
So convert the 16 digit integer [perhaps made from((rand+Time.now.to_f)*1000000).to_i
?] [Bignum] SKP guid to a string, then an array, then pack it using 'm' to make it base64 [string], adjust non-compliant characters in it to suit IFC_$
.
(eval):155
` ifcguid=2223334441110009.to_s.to_a.pack('m')[0..21].gsub(/[^0-9A-Za-z]/,'_')MjIyMzMzNDQ0MTExMDAwOQ
In the other direction reverse adjust the IFC base64 string and then unpack that string again as 'm' back into an integer [Bignum]...
skpguid='MjIyMzMzNDQ0MTExMDAwOQ'.unpack('m')[0].unpack('q*')[0].to_s[0..15].to_i
3761687883756483` finally adjusting it back to 16 didigts...
Or something along these lines ?
-
@pout said:
Based on your comments, there are two possible pathways:
BIM as in: be able to attach BIM properties and parameters to an entity. That's it, these parameters do not influence the entity when changed.
BIM as in: when changing IFC parameters/properties teh entity is changed accordingly, even more, when adjectent entities are influenced they also change if needed (bit like Revit)@brewsky said:
I agree, the more information you've got, the more usable it becomes...
This goes for every bim-plugin, but also for a basic common framework...But even if you just have 4 labels; "width=100", "length=6000", "height=3000", ifctype="IfcWallStandardcase" AND the default sketchup information of a group/component; "placement point" and "placement vector", can tell you a whole lot about the wall! The more "standard definitions" we as plugin builders can agree on, the better it gets. You could even agree on a basic Sketchup::Ifc module that contains a few classes for maybe ifc-export/import, generating globally unique id's(guid) and managing ifc-units...@bigstick said:
The added value of the first approach, is that SU can be integrated into an existing (or new) BIM workflow. So users can use SU in conjunction with Revit, Microstation, Archicad, Vectorworks etc.
-
The solution is to associate "parametric modeling" with the "generic 3D modeling" offered in SketchUp. And then, maintaining a "behind-the-scene" analytical model with SketchUp's graphical model. In this case, the "parameters" associated with the SketchUp entities can be stored internally with the entity. When you change the entity, these parameters are adjusted automatically using entity observers etc. and visa-versa, the graphical output is adjusted if these parameters are changed.
-
Then, when you import/export IFC data into the SketchUp model, you can simply modify these internal parameters, hidden inside the SketchUp entities; which will consequently and automatically change the graphical model in SketchUp.
-
To me, changing adjacent entities is the next natural step in the development cycle. It is an enhancement to the above work-flow; but first, (1) and (2) need to be bolted in solid!
Dex
http://forums.sketchucation.com/viewtopic.php?f=323&t=41840 -
-
The problem with parametric modelling is that you are adding another layer of complexity, which may never have been part of the original plan. The big drawback to it, is that implementing complex features such as curved, tapered or sloping walls becomes almost impossible unless you create typologies for them, together with mechanisms to connect them. It's worth remembering that even Revit didn't have these things in the first couple of versions!
In addition, let's say you have even a simple shape as a rectangular room with a curved bay, it's easy to model the slab and ceiling, but making these both parametric and associative with the adjacent elements is a really huge undertaking. Much, much bigger than simply tagging geometry or building some tools to create appropriately tagged geometry.
There are so many examples of this kind of complexity (floors with holes for staircases are another example) that it is easy to see how the project could get bogged down with making a very complex plugin that can deal with associative geometry, but can only deal with the very simplest of building types! In that respect, it could have very little usability in real world situations. When I played around with version 2 of Revit, before Autodesk bought it out, I found that this was the case for me.
One could deal with some things (partition walls, doors, windows, arrays of joists and framing) with dynamic components, but other elements could be created by plugins, and others built from scratch and tagged. It seems to me to make sense to have more than one way to make geometry, for flexibility.
-
Hi everyone,
I have made a small video that shows the current progress on my bim-tools plugin.
It shows basic ability to create "thick-faces"(filled with the needed BIM-data) from an existing SketchUp model.I think the plugin now has a solid and extendable data-model, ready for the next steps!
A lot of work needs to be done but I would like some comments on things like:
- would anyone like to work in this way(draw a model as flat faces(shell) and when a design becomes somewhat "real", select faces that need to be converted to (exportable) BIM objects.
- do you think this is a good approach to BIM-modelling? The method differs somewhat from revit and the like
- can it be done this way? A lot of difficulties lie ahead(solving corners, conversion to IFC)
Please comment!
Cheers!
Jan
http://forums.sketchucation.com/viewtopic.php?t=34007P.S. made the video on ubuntu Linux!
-
@brewsky said:
Hi everyone,
I think the plugin now has a solid and extendable data-model, ready for the next steps!
Hi Brewsky,
I don't understand exactly what the video is doing and its relation to BIM DATA, but I like the quick manipulation of shells that is apparent. I think the above statement is most impressive. Is the object a solid. or is the model just "solid", and what is the link to data? Are walls identifiable for further description or something like that?
Great work! Thank you!
Peter
-
Hi Peter,
You are right, the video needs some clarification.
@pbacot said:
I don't understand exactly what the video is doing and its relation to BIM DATA, but I like the quick manipulation of shells that is apparent.
The video shows the first visual part of the re-builded plugin: converting SketchUp faces to builing elements. What's still missing is an interface, and a way to show the created building data.
@pbacot said:
I think the above statement is most impressive. Is the object a solid. or is the model just "solid", and what is the link to data? Are walls identifiable for further description or something like that?
The basic idea is to use pre-drawn sketchup elements(faces/edges) as source for the building elements. Apart from the source-face, a group holding the complete wall-geometry is created.
These are linked through a new building-element-class. The source face remains the basis, and holds all attribute data. This way the geometry can always be re-created from the source.I have created a set of new classes parallel to the common sketchup elements, among others:
- A project-class, that manages a separate library of building elements, and will take care of things like IFC-export.
- A planar-class(for walls/floors/roofs, might be needed to add separate classes), linked to the source face and the created wall-geometry. And contains all object data, like width, height, material-properties.
- A lineair-class(for columns and other profiles), linked to a source edge and the created geometry.
Cheers,
Jan -
@unknownuser said:
The big benefits of SketchUp are its ease of use, affordability, massive user base and thriving community of developers.
- Amen to that!
@unknownuser said:
@fionmacool - There doesn't seem to be a lot on your site right now. Are you familiar with Secom's IFC2SKP (http://www.ohyeahcad.com/ifc2skp/index.php) plugin?
- Yes I forgot about that one- I have included it now thanks. In relation to the amount of content- I don't have a lot of time to put into it, but the site is just meant to be a means of directing people towards content.
@unknownuser said:
I'm a bit intrigued as to why you had such a negative reaction to what sound to me like very useful ideas. I'm reminded of the famous quote by Henry Ford, "If I had asked people what they wanted, they would have said faster horses."
- I am reminded almost every time I mention something interesting that there are vast numbers of people who don't want interesting things to happen.
@unknownuser said:
@mitcorb - I think you have made some very valid points about the formalized input in Revit. It concerns me that the inflexibility of the tools might get in the way of elegant design. I do think SketchUp needs to evolve in terms of its geometry handling because working with large models can be painful, but I don't think any SU BIM solution need be anywhere near as complex as Revit. As far as I have seen, Autodesk buy applications that threaten their business model, then screw them up in an attempt to integrate and rationalise functionality with their existing products.
- The business model of high cost software cannot survive. Unless legislation like #SOPA, #PIPA, or #ACTA get enacted and destroy the internet.
-
@fionmacool said:
- The business model of high cost software cannot survive. Unless legislation like #SOPA, #PIPA, or #ACTA get enacted and destroy the internet.
Try telling any of the major CAD/BIM vendors that! Despite the whole argument surrounding legality, it's often easier to get pirated software than legitimate stuff. I once ordered an AutoCAD upgrade that took 2 weeks to get an authorisation code for. I could have downloaded a pirate copy and installed it within a couple of hours!
I'm not an apologist for software piracy by any means, but for some companies it actually enhances their market presence. I accept that this is an a controversial thing to say, but if you look at Photoshop, and the cost, and the number of users around the world, the fact that is is the market leader I suspect is down to piracy. Not many people can afford to pay for the full application, yet a disproportionately larger proportion have used it extensively.
So - even in the content of internet piracy or 'copymism' (Google it) these companies still make a lot of money. I'm not advocating software theft (the term 'piracy' is a romanticised euphemism for theft) for a second, just highlighting how considering how prevalent it is, it won't kill high cost software any time soon.
Sorry about that the original response just quoting your previous post! I must have had a timeout (our web access in the office is, let's call it 'variable') which meant that my actual reply didn't get posted when I resubmitted the page.
-
Large comercial drawing jobs require IFC... I say: Sketchup can handle residential work and all of the BIM information required.
I have just finished a BIM seminar in Australia. To be honest I have not had a lot to do with IFC as I have always used Skethup to do my residential quantifying and scheduling (no need to export). I do see clear advantages in having an IFC exporter from Sketchup for IFC compatible programs and I would like to help with input. As far as parametric models go for BIM I have not heard that they were used in any package. I have exported IFC (parametric models) from Archicad and imported them into Revit with no success. A static model works fine but there is a lot more to consider when it comes to this type of information exchange... especially file size.
Sure most who post on this topic have a handle on how to draw and attribute BIM models on the technical side but none of us know how it should be implemented in a cross platform international standard. It seams to me that this should be the priority.
Sketchup is a simple and cost effective way for everyone to take advantage of what BIM has to offer for the: design, quantifying, building and maintenance industries. BIM should not be designed for people with a university degree to use, BIM should be designed for 95% of the population to use and benefit from.I agree we do need IFC export for software compatibility but I dont see why Sketchup can not be used as a stand alone, affordable complete BIM package.....? One thing that becamme clear at the seminar for BIM was that the current software that is available is some what expensive but the real costs came in when the contractor had to employ someone to use it.
I am actively committed to BIM for Sketchup yet I post very little. I like to build add ons, try them in real life and then rectify until I think I have it correct (a very slow process as a home can take me weeks to design & 6 months to build and there are hundreds of possible senarios). Once I am done (soon) I look forward to have you all comment on my work.
I don't get a chance to check my PMs often so post comments here for all of us to see. I do have a gmail account that you can contact me on.... aadbuildATgmail.comI am glad to see that BIM is being considered and talked about for Sketchup and I hope one day it is a viable option for all.
sorry for my spelling and grammar, I left school early . -
Sounds interesting Andrew, I'm keen to see how things unfold! I'll gmail you....
-
To keep this thread alive (because I still think there is work to be done), PlusSpec has had almost unanimously positive reviews about being a wonderful piece of software. Andrew and his team seem to have done a great job.
However, technically it's not 'true BIM' because it's standalone. There's a long discussion to be had in relation to this, and there are lots of definitions. BuildingSmart defines it as:-
“A BIM is a digital representation of physical and functional characteristics of a building. As such it serves as a shared knowledge resource for information about a building forming a reliable basis for decisions during its life-cycle from inception onward.”
The 'shared' word seems to be significant to every authoritative resource using the term.
That doesn't mean that PlusSpec not an excellent application, in lots of cases it's probably better than the large commercial applications. It does mean that it's not quite 'full' BIM - yet.
To my mind, PlusSpec + IFC would equal true BIM for everyone, which is what PlusSpec is (in my humble opinion) aiming for. Andrew is well aware of the IFC issues, and I hope he's implementing support.
He is right in that you can use a standalone system for individual houses and small projects, but SketchUp is suitable for larger projects (I use it for buildings of 9000sq.m.) which do need interoperability and team working.
This means IFC, which would push PlusSpec into a much bigger market.
Come on Andrew, there are thousands of us willing you on!
-
I assume you are following this thread?
http://sketchucation.com/forums/viewtopic.php?f=80%26amp;t=57343 -
No actually - very interesting, thanks for the heads up
-
I still think this thread needs to stay alive, too. We have had several extension developers presenting products that have BIM like features-- in the sense of the "ideal definition in the sky". There may be others out there that I know I haven't seen. Just discovered a week or so ago was Edificius. To what degree this fits the mold, I don't recall right now.
In your case, cross platform, or multi OS support, would be essential.
-
Actually, for us Mac users, there isn't too much choice. Vectorworks isn't up to much as a BIM platform, at least in 2013 form. It imports SU IFC files just fine, but you can't edit the geometry. I've yet to see what VW2014 can do.
There is ArchiCAD, which is good, but expensive - and that's about it, I think. Running Windows software in a VM is not a suitable solution for BIM software IMO.
Another compelling reason for a Mac native version of PlusSpec.
On a different note, SU 2014 doesn't add IFC globalIDs for IFC tagged objects. At least not as far as I can tell from testing in VW and Solibri.
Unless I'm wrong, it's something to be fixed in a future release I think...
Advertisement