mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Fix a bug in the order of applying the scaling of a IfcCartesianTransformationOperator3DnonUniform
Fix a bug in the formatting of IFC simple types Provide a way of iterating over all entities in the IFC file Added IFC test file by Ryan Schultz Added another IFC test file from AutoCAD Architecture 2010
This commit is contained in:
@@ -186,7 +186,7 @@ bool IfcGeom::convert(const Ifc2x3::IfcCartesianTransformationOperator3DnonUnifo
|
||||
gtrsf.SetValue(1,1,scale1);
|
||||
gtrsf.SetValue(2,2,scale2);
|
||||
gtrsf.SetValue(3,3,scale3);
|
||||
gtrsf.Multiply(trsf);
|
||||
gtrsf.PreMultiply(trsf);
|
||||
CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gtrsf)
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -444,7 +444,7 @@ ArgumentPtr EntityArgument::operator [] (unsigned int i) const { throw IfcExcept
|
||||
std::string EntityArgument::toString(bool upper) const {
|
||||
ArgumentPtr arg = entity->wrappedValue();
|
||||
IfcParse::TokenArgument* token_arg = dynamic_cast<IfcParse::TokenArgument*>(arg);
|
||||
std::string token_string = ( token_arg ) ? TokenFunc::asString(token_arg->token) : "";
|
||||
std::string token_string = ( token_arg ) ? TokenFunc::toString(token_arg->token) : "";
|
||||
std::string dt = Ifc2x3::Type::ToString(entity->type());
|
||||
if ( upper ) {
|
||||
for (std::string::iterator p = dt.begin(); p != dt.end(); ++p ) *p = toupper(*p);
|
||||
@@ -807,6 +807,12 @@ void Ifc::LogMessage(const std::string& type, const std::string& message, const
|
||||
std::string Ifc::GetLog() {
|
||||
return log_stream.str();
|
||||
}
|
||||
MapEntityById::const_iterator Ifc::First() {
|
||||
return byid.begin();
|
||||
}
|
||||
MapEntityById::const_iterator Ifc::Last() {
|
||||
return byid.end();
|
||||
}
|
||||
|
||||
File* Ifc::file = 0;
|
||||
std::ostream* Ifc::log1 = 0;
|
||||
|
||||
@@ -228,6 +228,8 @@ private:
|
||||
static std::ostream* log2;
|
||||
static std::stringstream log_stream;
|
||||
public:
|
||||
static MapEntityById::const_iterator First();
|
||||
static MapEntityById::const_iterator Last();
|
||||
static void SetOutput(std::ostream* l1, std::ostream* l2);
|
||||
static void LogMessage(const std::string& type, const std::string& message, const IfcAbstractEntityPtr entity=0);
|
||||
static IfcParse::File* file;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -33,7 +33,7 @@ DATA;
|
||||
#16= IFCCARTESIANPOINT((0.0,0.0));
|
||||
#17= IFCAXIS2PLACEMENT3D(#10,#13,#11);
|
||||
#18= IFCGEOMETRICREPRESENTATIONCONTEXT('Body','Model',3,0.01,#17,$);
|
||||
#19= IFCRECTANGLEHOLLOWPROFILEDEF(.AREA.,'Steel Grid Member',#15,0.1,0.2,0.0063,-0.0063,0.0);
|
||||
#19= IFCRECTANGLEHOLLOWPROFILEDEF(.AREA.,'Steel Grid Member',#15,0.1,0.2,0.0063,0.0,0.0);
|
||||
#20= IFCGENERALPROFILEPROPERTIES('Steel Grid Member',#19,$,$,$,$,$);
|
||||
#22= IFCAXIS2PLACEMENT3D(#23,#24,#25);
|
||||
#23= IFCCARTESIANPOINT((-36.625,-51.125,19.709999));
|
||||
|
||||
Binary file not shown.
+5
-1
@@ -192,12 +192,16 @@ TestFile("http://bimserver.googlecode.com/svn/trunk/TestData/data/AC90R1-niedrih
|
||||
# File courtesey of Jon Mirtschin / Geometry Gym
|
||||
TestFile("geometrygym_great_court_roof.ifc")
|
||||
|
||||
# File courtesey of Ryan Schultz / Opening Design / Studio Wikitecture
|
||||
TestFile("revit2012_janesville_restaurant.zip")
|
||||
|
||||
# Walls cut by IfcPolygonalBoundedHalfSpaces from Revit 2011
|
||||
TestFile("revit2011_wall1.ifc")
|
||||
TestFile("revit2011_wall2.ifc")
|
||||
|
||||
# Walls from Autocad Architecture 2010
|
||||
# Objects from Autocad Architecture 2010
|
||||
TestFile("acad2010_walls.ifc")
|
||||
TestFile("acad2010_objects.ifc")
|
||||
|
||||
# Various half space configuration to test cutting tolerances
|
||||
TestFile("ifcopenshell_halfspaces.ifc")
|
||||
|
||||
Reference in New Issue
Block a user