« Set Tag Type | Main | Do Not Filter For All Elements »

June 21, 2010

Comments

A couple of years ago I ran into something like Håkon's problem. I don't know that I can solve it - but I might be able to explain it.

Door Geometry can be fundamentally different depending on the thickness of wall that the door is hosted in. At one point a few years back, I found that in some export cases there were "special" family symbols which were representing the different symbol/thickness variations.

For what it's worth - as they say :).

-Matt

Dear Matt,

Thank you very much for your note. Yes, this is in fact analogous to the issue discussed for columns in

http://thebuildingcoder.typepad.com/blog/2010/02/retrieving-column-and-stair-geometry.html

Cheers, Jeremy.

If anyone is looking for the VB.Net conversion of Håkon's code, I've posted a working version of the IfcGuid module here: http://arupforge.arup.com/wiki/index.php?title=IFC_Guids_in_VB.Net

Note, this is one of those cases where C# != VB.net, so a straight forward syntax conversion wasn't enough.

Dear Jeremy, Can you please help me to find coordinates of door or any other elements in IFC files? I am not finding any class which can give the coordinates. Also the structure of a IFC file. How it gives the elements information and its properties?

Please help me.

Dear Nilesh,

An IFC file is not a trivial animal. I would suggest using a full-fledged toolkit to tackle it.

Cheers, Jeremy.

Hi all,

I wonder if its possible that Håkon's algorithm can have some kind of open source license like the MIT attached so that it can be actually picked up by the industry! Its a pity that we cannot actually use this translation of the C code in our C# projects because of IP issues!

By the way, where is the original C code and how it is licensed? It could be that the "translation" is not valid at all (i am not a lawyer!). Nobody seems to care about legal issues much, but we have to, as we are in the process of open-sourcing our code, and dont wont to depend on viral licenses like GPL, and also dont want to breach a copyright!

Dear Joerg,

Oh dear, I am awfully sorry that you are faced with these issues.

I am not, thank God, and I have no idea. I am still hoping I will survive without being forced to deal with that kind of stuff.

As far as I know, I am the original author of the original C code that this is based on. That probably does not help, though.

As far as I can tell, this same code is used in many IFC implementations all over the place.

Probably you can find some copy somewhere which has a license attached to it.

Its actually pretty trivial, anyway.

Good luck!

Cheers, Jeremy.

Jeremy

I have been working on a number of utilities that require conversion between GUID's and base64GUID's. I have read many of your blogs on this subject and find them very useful and informative.

I am not sure however if I have found an error in the Hakon Clausen code referenced above or whether its an error on my behalf (I tried downloading your version/implementation of the C# code from the buildingSMART technical website to see if I get the same error but there seems to be a problem with the zip file)

The problem I have found is that certain GUID's when converted to base64 and then back again don't yield the same GUID. I am working on some tools to assist in producing COBie UK datasets from Cadduct (Autodesk Fabrication) models. An example of the type of error I am having is:


the following GUID:

01cf62c8-e9bc-bf88-0000-000000000005

when converted to base64 with the above algorithm yields:

01psB8wRl0Y00000000005

When this is converted back to its standard form I get:

01cf62c8-e9bb-c088-0000-000000000005

I have a few otheer examples that do not work both ways, most of those I have tested however work fine.

Any help/insight greatly appreciated.

regards
Paul

Paul, I tracked down the bug. Specifically there was a BitConverter.ToInt16 call in there which should have been BitConverter.ToUInt16 like the rest. I have updated it a bit and added you test case. The whole thing can be found here https://github.com/hakonhc/IfcGuid

Dear Paul and Håkon,

Thank you both very much for reporting and fixing this!

I added a note about the fix and the GitHub repository to the main blog post, to ensure it does not get missed.

Cheers, Jeremy.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name and email address are required. Email address will not be displayed with the comment.)

Jeremy Tammik

AboutTopicsIndexSource