IfcXtreme

This forum section is only for IFC-related issues
Post Reply
ReD_CoDE
Posts: 18
Joined: Sun Jun 09, 2019 8:59 pm

IfcXtreme

Post by ReD_CoDE »

Dear friends,

Your feedback is highly appreciated and will help us to improve IFC and build a new interactive IfcDoc

Image

IfcXtreme base concepts come from cross-platform visual programming and develop IFC entities as visual programming components and objects

The concept develops based on “end entities” which explained in IfcLite project as a question

The preliminary concept developed with Grasshopper + BHoM

Cheers,
Ehsan
Leadership is opening the doors for others to go through
Cyril
Posts: 133
Joined: Wed Aug 23, 2017 5:04 pm
Location: Geneva (Switzerland)
Contact:

Re: IfcXtreme

Post by Cyril »

Hi Ehsan,

About the multi-platform side, grasshopper do not work on GNU/Linux. There is some discussions on the forum about visual programming (https://forum.freecadweb.org/viewtopic. ... 2&start=30).

A workbench is currently developed with pyFlow : https://forum.freecadweb.org/viewtopic.php?f=8&t=36299

About the concept I feel like it could replace diagrams like this : https://standards.buildingsmart.org/IFC ... _TC1/HTML/ but not the rest. But I am not very fond of visual programming (of maybe is it only because Dynamo library management annoy me a lot). Maybe a bit more explanation about what you mean ?
I blog about HVAC / BIM / Energy : pythoncvc.net. If you like you can follow the RSS feed.
ReD_CoDE
Posts: 18
Joined: Sun Jun 09, 2019 8:59 pm

Re: IfcXtreme

Post by ReD_CoDE »

Hi Cyril,

Thanks for the feedback.

1. Yes I know Grasshopper is not a multi-platform, but Grasshopper is just XML and there are some tries to build a cross-platform. I just wanted to say that the cross-platform visual programming idea is good to build a new interactive IfcDoc

2. FreeCAD workbench looks interesting and could be the best choice if it's "cross-platform" and works on desktop and web

3. I developed the idea based that complete tree, but based on end entities, for instance, IfcProject or IfcSite are end entities on the hierarchical approach.

What does it mean?

It means that I'm going to build a middle-ware which shows an easy to understand end entity like the example IfcActor, which the object on the front-end shows which data and datatype needed? And on the back-end, it converts that object to IFC-SPF or IFC-XML and or any other structured code which is standard

I put IfcOccupant on canvas and it "automatically sets datatypes, rules, functions, relationships, so on" and also I have the ability to manage them manually too.
For instance, if I add Pset_X it automatically sets relationships and everything is needed and the user doesn't need to know relationships well

Also, it automatically and also manually can check inputs, processes, and outputs which is great for automation and control systems. Imagine you be able to sett rules object by object, for instance, say that IfcWall should give these data with these data types from these IfcXs and process these process or processes and give these outputs

This is the whole idea

(Or we put the end object and it adds all behind objects needed automatically, this is the second scenario I thought about
For instance you put IfcProjectLibrary on canvas and it adds IfcContext, IfcObjectDefinition, and IfcRoot

But mainly I'm trying to drop IfcObjectDefinition and move relationships inside the end entities)

Ehsan
Leadership is opening the doors for others to go through
User avatar
Moult
Posts: 321
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: IfcXtreme

Post by Moult »

Agree that Grasshopper is not cross platform, nor is closed source Rhino, of which it is tied to. Many of us cannot use it.

If you do want to pursue cross platform visual programming, perhaps look at Blender and Sverchok? Those are truly open source and open platform. Blender also connects to IFC with IfcOpenShell. Sverchok is a powerful visual programming platform integrated into Blender.

That said, I believe ggRhinoIFC already does what you are talking about? You should check out GeometryGym and their IFC grasshopper nodes.

I think that all IFC authoring software try to abstract away a lot of entities and only expose end entities, so most of us are in agreement here.
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.
ReD_CoDE
Posts: 18
Joined: Sun Jun 09, 2019 8:59 pm

Re: IfcXtreme

Post by ReD_CoDE »

I checked Sverchok, so it looks really interesting. Does it work on both desktop and web?
Its GPL license won't make any issues if we use their resources inside our open source project?

I know GEOMGYM (GEOMETRY GYM) from good old days, years ago, however, GGRhinoIFC "generates IFC models inside the Rhino and has the ability to transfer data and information between Rhino and Revit"


But our solution is not for "modeling" is for "processing"
It's a tool to generate (Micro-) MVDs, transfer between experts and stakeholders, and also process MVDs (Automation and Control)

Indeed we're going to build a toolkit which is good for IFD, IFC, IDM, and MVD (and is a complete package, a vehicle to bring a new OpenBIM approach in the industry)


It seems that Yorik has extensive knowledge in Copyright licenses, so which licensing is good to restrict some commercial companies to pay for if use an open source project?
Leadership is opening the doors for others to go through
User avatar
yorik
Founder
Posts: 13659
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IfcXtreme

Post by yorik »

The meeting of closed-source and open-source worlds is always a bit complicated...

Turning a single-platform app like IfcDoc into multiplatform is a lot of work. I still fail to see the real advantage of IfcDoc, besides being a more convenient way to browse docs. And so far I haven't seen MVDs used anywhere...

About a node-based system, indeed there are several ongoing efforts around FreeCAD. But I believe it's not such an important thing in FreeCAD, because FreeCAD objects already have a pretty good "signal/slot" system that is very easy to manipulate from python or even already directly from the GUI (expressions), so there is less need for such a visual system. But of course it would be a nice thing to have, I fully agree.

But I think these are two very different things, and no sure doing them all together is very practical. For me it's more interesting to 1) better IFC support in FreeCAD 2) continue developing a node system and 3) outside of all this, maybe look at the MVD question. Bu I still have some doubts about the usefulness of MVD..

Regarding licenses, there are to philosophies. Basically "restrictive" licenses like GPL prevents you from using GPL code inside closed-source apps. While LGPL, MIT, BSD and other "permissive" licenses allow you to. In FreeCAD, as we had a lot of problems and headache in the past with licenses compatibility, although it is permitted to use GPL code, we only allow permissive-licensed code inside the FreeCAD source, to save us some future potential headache :)
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: IfcXtreme

Post by Kunda1 »

yorik wrote: Mon Jun 17, 2019 2:43 pm n FreeCAD, as we had a lot of problems and headache in the past with licenses compatibility, although it is permitted to use GPL code, we only allow permissive-licensed code inside the FreeCAD source, to save us some future potential headache
In other words, GPL code can be imported through the Addon Manager instead of being in core.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
ReD_CoDE
Posts: 18
Joined: Sun Jun 09, 2019 8:59 pm

Re: IfcXtreme

Post by ReD_CoDE »

Thanks Yorik and Kunda1,

It seems that for our solution a dual licensing sounds good. MIT & GPL

IfcDoc is a critical tool for the whole OpenBIM environment
Leadership is opening the doors for others to go through
ReD_CoDE
Posts: 18
Joined: Sun Jun 09, 2019 8:59 pm

Re: IfcXtreme

Post by ReD_CoDE »

Dion suggested Sverchok https://github.com/nortikin/sverchok

But I was thinking about a cross-platform like Scratch https://github.com/LLK

And a friend suggested this one, Flood https://github.com/pboyer/flood

So I think a combination of Scratch and Flood can cause an awesome visual cross-platform

Is anyone interested to work on this project with us? https://github.com/IfcXtreme/IfcXtreme
Leadership is opening the doors for others to go through
Post Reply