If you're reading this, we've just migrated servers! If anything looks broken please email dion@thinkmoult.com :)

Sverchok IFC

Following on my question in https://github.com/nortikin/sverchok/issues/3574
1. How is the IFC create shape supposed to work? I exported an ifc file with a wall and loaded it with sverchok, it recreates the geometry, but it doesn't have the classification (it is an ifcElement instead of ifcWall) and all the Qtos and Psets are empty.
2. Is it meant mainly to be used to generate ifc files directly or to aid with generating bim inside Blender?
3. Is there a way to add a text linked to an element?
4. Shall we have a separate git for ifc nodes or is the sverchok git the right place?

theoryshaw

Comments

  • @Moult for the start these IFC nodes are good, but if I were you I wouldn't do that
    IFC by Type (Type and Entity) is good if type be a selectable field, something like IFC elements window/menu in BlenderBIM
    I saw that recently you finished the drop-down menu which maybe helps

  • The IFC nodes are purely a starting point for discussion about what we'd like / need in nodes. I haven't yet actually used it for any productive output.

    1. The create shape node simply creates geometry. It is good for debugging or isolating geometry in IFCs agnostic of other object relationships. I guess what you're looking for is a "Create Element" node, which actually creates a full object. This doesn't yet exist.
    2. I don't know yet. I have some ideas of how it can be used as an interface to edit native elements, but this is far from ready. I also would like to start blurring the lines between editing in Blender and editing IFCs directly, as the add-on becomes more powerful and supports more of the schema. This is mostly exploration - I have a hunch that visual nodes will be useful sooner or later.
    3. What do you mean?
    4. I think https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0/src/ifcsverchok is the best place to put the code. This is separate from the Sverchok git and I don't see it being shipped with upstream, as IFC editing is highly niche and requires a lot of dependencies, which would be inconvenient for upstream to accommodate.

    @ReD_CoDE using dropdowns instead of text fields is a good idea! Would you like to help implement it? The code for nodes is quite small, so it should be straightforward.

    1. In the meantime I tried using "Object ID Set" node. Works great for Blender properties, unfortunately doesn't allow to add modifiers, only to change them.
    2. Sounds great
    3. Something like this:

      changing the value of the "related element" in text "paper space"
      I also tried something simpler:

      any idea why it doesn't work?
    4. Ok
  • @Moult as you know I'm not a programmer, but I'll help based on the ideas I had about IfcXtreme
    And I think in BlenderBIM you've done the majority of steps are needed to develop IFC nodes
    Please consider that IFC is not just available classes on spec, many companies need to develop their own experimental classes based on IFC rules

  • @ReD_CoDE said:
    as you know I'm not a programmer, but I'll help based on the ideas I had about IfcXtreme

    Nobody is born programmer you became a programmer by learning and programming. Many non programmer are programming. eg. An astronomer now spent la large part of his time programming analysis to find new star, planet, satellite, asteroid etc…
    Also nowadays you learn programming basics in any university even in college / high school. Even without mastering any language / framework / environment it might help you to write more constructive feedback. Sverchok is visual programming.
    No pressure, I just wanted to point it out as I've seen you repeating this several times.

    Darth_BlenderMoultReD_CoDEhtlcnnkaiaurelienzh
  • edited November 2020

    @Cyril maybe in the long-term I spend my time to learn to program, but these days as a short-term scheme, I prefer to spend/invest my time in thinking and ideation

    Believe me, developing tools is not just about programming, without enough time for R&D, you will develop average tools that many want them :))

    Edit: I repeat this because Dion constantly encourages me to learn to program, and I repeat the aforementioned sentences :)

    iosvarms
  • @Moult where are all Ifc Types? Are they in blenderbim.bim.schema.IfcSchema().IfcElementType? I looked at your code and change type field to EnumProperty so it will be a dropdown. I don't know how to use Sverchok yet, so I hope it will work. Here is the PR: https://github.com/IfcOpenShell/IfcOpenShell/pull/1081
    @ReD_CoDE we are not born programmers. We are all thinkers, unless we were dead. Some of us realized our thoughts.

    Moult
  • @htlcnn It's better everyone do the job that is expert in it
    Programming is not in my list
    I share ideas with you and others, and it's up to you to build them or not
    In the end, I follow my own schemes and you follow your own schemes
    I don't spend my time on less important things

    Darth_Blender
  • @htlcnn It's a couple of months @aothms works on EXPRESS parser that was a little bit old and needed some improvements
    IFC types (type and entity) are inside the IFC schema/spec
    But you guys mainly work based on Ifc (step) file
    Schema/specification and Ifc file format are two things

  • A huge kudos and thanks to @htlcnn for implementing the dropdown in the node! It only took editing 6 lines of code! https://github.com/IfcOpenShell/IfcOpenShell/commit/322f3773e491501c2e0dd45eafb6f61bea4d9494

    ReD_CoDEbasweinDarth_BlenderbitacovirJanFMeetlattheoryshawJesusbilliosvarms
  • JQLJQL
    edited November 2020

    @Moult said:
    A huge kudos and thanks to @htlcnn for implementing the dropdown in the node! It only took editing 6 lines of code! https://github.com/IfcOpenShell/IfcOpenShell/commit/322f3773e491501c2e0dd45eafb6f61bea4d9494

    This made me remember the story of the guy that fired the mechanic he had in the factory. All his machines were working properly for ages and for ages it seemed to him that his mechanic was doing nothing all day.

    One day his main machine got broken and he asked his mechanic if he could fix it. The guy charged him twice the months of payment he had missed since he had been fired.

    The factory owner got angry and went on to find a cheaper mechanic. He had a lot of work assembling and disassembling it but failed to fix it. The owner paid him his job and went on to find another.

    This happened several times until he had spent the same money that his ex employee charged. He agreed to pay him his fees but only after the machine was fixed.

    The mechanic fastened a screw and the machine got working again.

    I guess variations of this story are being told everywhere, but I think it's a nice one.

    Darth_BlenderMeetlatMoulthtlcnn
  • Here is my take on the Sverchok version of IfcDumbWall, couple of things I cant't get to work:

    • Linking it to the proper collection (it links but the node goes red and the sliders stop working)
    • Adding a qto set

    theoryshawDarth_Blender
Sign In or Register to comment.