-
Notifications
You must be signed in to change notification settings - Fork 612
Known issues
Some issues are hard/impossible to fix, therefore we mention them here.
Because the BIMserver is starting separate processes for the IFCEngine (used for generating geometry and clasdetection), paths are a peculiar (and operating system based) thing. For windows: Paths can contain spaces, but not multiple spaces together:
- Right: "C:\Program Files\BIMserver 1.0"
- Wrong: "C:\Program Files\BIMserver 1.0"
- For OSX: Paths cannot contain any spaces at all
- For linux: Paths cannot contain any spaces at all
Update: This has actually been fixed within BIMserver. These 12 combinations of incomplete inverses will be set by BIMserver on checkin.
IFC has the notion of "inverse" relations. EMF has the notion of "opposites", where possible those have been mapped, but it's not always possible so sometimes "inverses" won't work the way you would think.
The problem with inverses in IFC is that one can be defined on type "A", referencing a certain field on type "B" which in turn does not point to the field of type "A", but to a field on a super- or subtype of "A". EMF does not support these kind of opposites. The effect of this is that opposites won't automatically be set when setting one reference, you will have to set the other as well.
Real IFC Example:
And another:
Another case is IfcRelAssociates.RelatedObjects (IfcRoot) which does not match with its inverse IfcObject.HasAssociations (IfcRelAssociates).
You can read part of the very early discussion here. There is also a publication about inverse references (Section 2.2 on this mismatch issue): Tauscher H. (2022). Analysis and effective use of inverse relation attributes in IFC. In: Proc. 14th European Conference on Product and Process Modelling (ECPPM), Trondheim, Norway, 2022. Doi: 10.1201/9781003354222-95.
This is not really an issue, but it's good to know why not all schema data can be stored in the EMF meta model. In IFC, derived attributes can be defined, those attributes are usually calculated based on explicit attributes. Derived attributes usually do not appear in the IFC files, but there is one exception. When a derived attribute is defined, but one of the superclasses of the class has the same attribute, the field should be serialized as a "*". For serializers/deserializers, this information is necessary, but we cannot store this in the EMF meta model. Because in EMF all structural features are created only once (also when subclasses exist), so we cannot store class-specific information in the structural features.
Note: BIMserver > 1.5 will only run on Java 8 or higher Note: This problem has been resolved in Eclipse Kepler
Compiling the BIMserver in Eclipse 3.7.1 and then running in Java 7 (update 2) currently generates the following error, which is probably a bug in the eclipse compiler:
java.lang.VerifyError: Inconsistent stackmap frames at branch target 196 in method nl.tue.buildingsmart.express.parser.Express2DictWalker.select_list(Lantlr/collections/AST;)Ljava/util/List; at offset 156
Update on 2012-04-09: According to the Eclipse bugtracking system this bug should be fixed in Eclipse 3.7.2 but I am still getting the error, a workaround has been posted on https://bugs.eclipse.org/bugs/show_bug.cgi?id=362591.
The workaround: Add "-XX:-UseSplitVerifier" when running.
The following is an example, there could be more.
IfcPresentationStyleSelect has IfcNullStyle as a 'subtype', but IfcNullStyle is en enum. This is not supported in Java or EMF, files containing this construction will fail to deserialize at the moment.
Both the select type and the enum sub type are deprecated as of IFC 4.
IfcCompoundPlaneAngleMeasure is a defined type derived from a list, which does not work in EMF/Java.
IfcComplexNumber is a defined type derived from an array, which does not work in EMF/Java.
For more know issues have a look at the issue list
Get Started
- Quick Guide
- Requirements Version 1.2
- Requirements Version 1.3
- Requirements Version 1.4
- Requirements Version 1.4 > 2015-09-12
- Requirements Version 1.5
- Download
- JAR Starter
- Setup
Deployment
- Ubuntu installation 1.3
- Windows installation
- Security
- Memory Usage
- More memory
- Performance statistics
- Large databases
Developers
- Service Interfaces
- Common functions
- Data Model
- Low Level Calls
- Endpoints
Clients
BIMServer Developers
- Plugins in 1.5
- Plugin Development
- Eclipse
- Eclipse Modeling Framework
- Embedding
- Terminology
- Database/Versioning
- IFC STEP Encoding
- Communication
- Global changes in 1.5
- Writing a service
- Services/Notifications
- BIMserver 1.5 Developers
- Extended data
- Extended data schema
- Object IDM
New developments
- New remote service interface
- Plugins new
- Deprecated
- New query language
- Visual query language
- Reorganizing BIMserver JavaScript API
General