From 0253fb9e74a3fc4cb5e92a93285377d4241913c9 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 19 Jul 2013 15:47:47 -0300 Subject: [PATCH] Arch: added spaces to the ifc importer + minor fixes --- src/Mod/Arch/Arch_rc.py | 323 ++++++++++---------- src/Mod/Arch/Resources/ui/archprefs-base.ui | 72 +++-- src/Mod/Arch/importIFC.py | 98 ++++-- 3 files changed, 273 insertions(+), 220 deletions(-) diff --git a/src/Mod/Arch/Arch_rc.py b/src/Mod/Arch/Arch_rc.py index ad170ea5e..056219957 100644 --- a/src/Mod/Arch/Arch_rc.py +++ b/src/Mod/Arch/Arch_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Tue Jul 16 18:10:49 2013 +# Created: Fri Jul 19 15:47:00 2013 # by: The Resource Compiler for PyQt (Qt v4.8.4) # # WARNING! All changes made in this file will be lost! @@ -27568,133 +27568,134 @@ qt_resource_data = "\ \x6c\x6c\x61\x64\x61\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x77\x69\ \x6c\x6c\x20\x62\x65\x20\x64\x69\x73\x61\x62\x6c\x65\x64\x2e\x0a\ \x07\x00\x00\x00\x04\x61\x72\x63\x68\x01\ -\x00\x00\x07\xcc\ +\x00\x00\x07\xd4\ \x00\ -\x00\x3d\x0e\x78\x9c\xed\x5b\x6d\x6f\xdb\x36\x10\xfe\xde\x5f\x41\ -\xf8\xd3\x06\x74\xb5\x9d\xb7\x26\x81\xe2\x61\x6d\x9a\x36\x43\xbb\ -\xa5\x73\xd6\x7e\x1c\x68\xe9\x6c\x71\xa1\x48\x8d\xa4\x62\xbb\xbf\ -\x7e\x47\x4a\xb2\x2c\x5b\x52\xe2\xf8\x25\x40\xe0\xa2\x45\x25\x1e\ -\x7d\x77\x3c\xdd\x3d\x77\x47\x4a\xde\xaf\x93\x88\x93\x7b\x50\x9a\ -\x49\x71\xd1\xea\xbe\xe9\xb4\x08\x08\x5f\x06\x4c\x8c\x2e\x5a\x7f\ -\xdf\x5e\xfd\x72\xda\xfa\xb5\xf7\xca\x4b\x58\x31\xe9\x08\x27\xf5\ -\x5e\x11\xcf\xe7\x54\xeb\xde\xc7\x84\x9d\x9f\x5f\x32\xca\xe5\x08\ -\xff\xe7\xa3\x3e\x18\x83\x3f\xd6\xbf\x29\x3f\xf4\xda\xe9\x1c\x9c\ -\x3c\x66\xc1\x08\x0c\x71\xf7\x17\xad\xaf\xdf\xdd\x6d\x8b\x08\x1a\ -\xc1\x45\xab\x89\x87\x15\x45\xbc\x58\xc9\x18\x94\x99\x66\x3f\x18\ -\x81\x8c\xc0\xa8\xa9\x23\x12\x4f\x81\x6f\xdc\x15\xf1\x26\xbd\x8e\ -\xd7\x9e\x64\x37\x53\x7b\x33\xcd\x6e\x50\x03\x13\xf6\x8e\xdf\x1e\ -\x7b\xed\xf4\x32\x1d\x0e\x81\x8d\x42\xd3\x3b\x39\x38\xf3\xda\xd9\ -\xb5\xe3\xd9\xce\x99\x7a\xed\x5c\x78\x95\x26\x63\x26\x02\x39\xbe\ -\x65\x86\x43\xa6\x8c\x36\x0a\x75\xef\x7d\x04\x01\x8a\x72\xa2\xb3\ -\xb5\x78\xed\x8c\xb0\xcc\x92\xd3\xa9\x4c\x0a\xdb\x7c\x7b\x27\x27\ -\x9f\xdd\x50\xc6\x71\x41\xa4\x8e\xa9\x8f\x8c\x5a\xd9\x02\x44\x12\ -\x0d\x40\xf5\x4e\xbc\x76\x76\x95\xaa\x3f\x2f\x61\x89\x45\x44\xd5\ -\x88\x89\x05\x0e\x67\x8d\x1c\x98\x81\xa8\xb0\xe4\xfc\xb3\xfc\xa8\ -\x64\x12\xa3\xce\xf9\xd3\x1c\xe5\xf7\xe9\xf4\x25\xe1\xa6\x30\x56\ -\x85\xbd\xec\x33\x27\xfd\x0a\xa3\x2d\xeb\xd4\x68\xba\x4c\x18\x7a\ -\xad\x61\x3e\xe5\xe9\xe8\x3f\x07\x85\xdc\x62\x41\x15\x8c\x3e\x2d\ -\x31\x0a\xa5\x62\x3f\xa4\x30\x15\xac\x16\x99\x2d\x9b\xe8\x33\x1d\ -\x00\xcf\x39\x71\x7b\x53\xfa\x79\x85\x8d\x60\x62\x4a\x13\x66\x76\ -\xba\x84\x21\x4d\x38\xb2\x96\x5c\x2a\x32\xc4\x7f\x63\xca\xf9\xa2\ -\xa5\xaa\xcd\x95\x0e\xa6\xba\xcd\x29\xdf\x2e\x6b\xbf\xb4\x18\xeb\ -\x70\xa0\x96\xec\xd0\x77\xc3\x8d\xcb\xc0\xb9\x80\x53\x0d\xe2\xc6\ -\xc2\x6a\x00\x5d\xad\xf7\xd5\x9c\x9f\x7f\x9a\xf1\xf3\xda\x6e\xf0\ -\xa1\x05\x2c\xc7\x03\xfb\x01\x9f\x98\xc0\x27\xa5\x4d\x80\xe1\x76\ -\xd1\xea\x2c\x9a\x0e\x67\x94\x46\x72\x34\x38\xea\x94\xc0\x60\x46\ -\xcd\x80\xe0\xa0\x53\xc2\x84\x42\xad\x45\x86\x35\x96\x4e\x0d\xb7\ -\x82\xa5\xcb\x6e\xe3\x60\xf1\x46\xc1\xf0\xbd\x7d\xd6\xef\x12\x63\ -\xd0\x8c\x79\x90\x59\x5a\x8c\x34\xe7\x07\x83\x94\xd6\xe8\x51\x52\ -\xf2\x5b\x16\x57\x3b\xd5\x6d\xc8\x34\xc1\xbf\x26\x04\x12\x2c\x39\ -\x98\x80\x31\xf9\x8e\x4e\x46\xe4\xe0\x5f\x04\xc5\xc7\xfb\xda\x92\ -\x12\x8e\xe7\x82\x0a\x6e\x6c\xc1\xfe\x0a\x82\xde\x41\xf7\xc8\x82\ -\x70\xb0\x40\x1a\x29\x00\x91\x12\xd3\xcb\x32\x79\xc0\x13\x48\xa9\ -\xee\xaa\xfc\xd8\x96\x44\x3d\x4e\x6b\x6b\xe6\x0f\xc2\xa6\x9b\x5a\ -\x0f\xf3\x33\x8b\x58\x33\xb9\xa7\x85\xc2\x9e\x6a\x24\x2b\xee\x86\ -\x9a\xf0\x61\x69\x5f\x64\xd0\xce\xf2\xec\xa6\xa2\xdf\x6b\xa7\x48\ -\x38\x83\xc9\x12\x79\x5d\xd0\x5c\x0b\x32\x37\x06\x98\x48\x48\x7c\ -\x93\x28\x78\x3e\xd4\x7c\x00\xfe\xf7\xb8\xb9\x4b\xdc\x7c\x28\x17\ -\xaf\x87\x9c\xfd\xdc\xdb\x76\x0b\x9f\xdd\xe3\x4e\x3d\x7c\x76\x4f\ -\xce\x1a\xe0\xb3\x7b\x7a\xf2\x4c\xf0\x39\xb3\xd5\x1e\x43\xeb\x0b\ -\xcf\x93\xf5\x0a\xcf\xe3\xcd\x15\x9e\xae\xf7\x79\x46\x10\x3d\xda\ -\x83\x68\xbd\xad\x77\x0d\xa2\x87\x8d\x0f\x63\x15\xe8\x3a\x3c\xac\ -\x47\xae\xa3\xe3\x06\xe0\x3a\x79\x2e\xdc\xfa\xee\x22\x61\x0f\x5a\ -\xf5\xa0\xd5\x3d\x5a\x0f\xb5\x4e\x36\x8c\x5a\x64\x64\x65\x3d\x1f\ -\x74\x35\xa3\xf0\x1e\xba\x76\x0a\x5d\xcd\x79\x64\x15\xe8\x3a\x6b\ -\x80\xae\xee\xe9\x61\x53\xcf\xda\x39\x7c\x56\xf0\xfa\x68\x6d\xb7\ -\x47\xb0\x06\x04\xeb\x3c\x1e\xc1\x0a\x0f\x0c\xc1\xbf\x9b\xdf\x1b\ -\x9d\xb9\x9f\x25\x0c\xe4\xe4\x9f\xd3\xa7\xf7\x1e\xd7\x43\x6c\x3b\ -\xd2\xf6\xc3\xb1\x83\xe0\x35\x19\x87\x20\xc8\x01\xd1\x2c\x62\x9c\ -\x66\x7b\x83\x84\x62\xf3\x31\x00\xfc\x09\xc2\xa0\x10\xd8\x83\xd8\ -\x99\xd8\xb1\x30\x45\x12\x11\x80\xe2\x53\x4b\xd3\x77\x60\x90\x8f\ -\x46\x84\xe4\x1c\xe7\x93\x7f\x25\x13\x10\x10\x84\x08\x49\xa4\x80\ -\xd7\x84\x8a\xc0\x35\x3a\x66\x2c\x33\xce\xd9\x54\x5f\x46\x60\xa7\ -\x3c\xbd\xb5\xa9\x47\xf0\xdf\x51\x8b\x4c\xda\x80\x6a\x98\x53\xd3\ -\x2e\x35\x96\x5a\xb3\x01\x5f\x43\xf2\x0a\x91\x62\x0d\x62\x77\x78\ -\xfa\x99\x0a\x2f\x32\x52\xca\xc4\x12\xaf\xb9\x79\x4f\x38\x0f\x28\ -\xda\xec\xc7\x9d\x08\x5c\x5f\xbd\x27\x2c\x8a\xa5\x32\x9b\x3e\x06\ -\xd8\xdc\x21\xc0\xd9\x56\x30\xe1\x81\x16\xad\x09\x13\x1c\xf3\x14\ -\x16\x30\x6a\x03\xa6\x63\x5c\x14\x09\x60\x90\x8c\x48\x04\x5a\xd3\ -\x91\x8b\x1c\xc6\x21\xb3\xad\x8d\x7c\x6b\xe9\x21\x0e\xad\xb1\x35\ -\x51\x1f\xbf\xfd\x10\xab\xad\xb2\x02\x3b\x09\x56\x36\xf4\x2f\xad\ -\xd4\x17\x19\xa4\xeb\x7b\xee\xf1\x36\x3c\x77\xb3\xb9\x6c\xe6\x96\ -\x69\x9a\xa1\x7c\x4c\xa7\xda\x26\xa6\xd4\x73\x31\x35\x8d\x99\x09\ -\x5d\x46\xc2\x1c\x05\x4a\x50\x4e\xe2\xa9\x09\x25\xa6\x05\xaa\x34\ -\xa8\xd7\x04\xee\x31\x47\xb0\x21\xb9\x1e\xfa\x7f\xc6\x20\xfa\x21\ -\x20\x23\x2b\x46\x68\x34\x05\x87\x60\x1b\x1e\x7f\x25\x95\x0f\x65\ -\x4d\x76\xe2\xf1\x43\x2b\x17\x57\x7a\xe3\x24\xdf\x64\x82\xf7\xde\ -\x5f\xe1\xfd\x87\x5b\xc1\xed\x35\xf6\x91\xdf\x2b\xa0\x06\x3d\xdd\ -\x25\x4b\xed\x1a\x55\xa0\x7e\x98\x1e\x87\xa7\x1b\xc7\xc4\x4c\xe3\ -\xad\x54\x58\x2e\x61\x63\x69\x88\x51\x25\xb0\xed\xc4\x10\x9b\x3a\ -\x59\xbb\xc1\x69\xdf\xad\x1c\xdd\xd6\xa9\xf1\x32\x6b\xaa\xf5\x1d\ -\x76\x85\xed\x93\x15\x1c\xb6\x79\xcf\xae\xde\x63\xae\x1d\x00\x93\ -\x61\xa2\x04\x73\x47\x1b\x3f\xf9\x54\x90\x88\xde\x81\x43\xe3\x48\ -\x06\xc0\x49\x08\xf4\x7e\xfa\xf3\x6e\x72\xbd\xd3\x07\x7d\xe8\x2a\ -\xd7\x68\xef\x46\xd5\x4d\x6c\x77\x2b\x7e\xf4\xc0\xee\xdc\xaa\x89\ -\x1f\x7f\x2d\xec\xeb\x3f\xb3\x4e\x74\x96\xf0\xa9\x26\x3a\x19\x18\ -\x45\x7d\xbb\x37\xa6\x71\x2a\xfa\x9b\x1a\x33\xec\x0b\x6d\x8b\x48\ -\x74\x48\xe3\xa2\x5e\x40\x64\x09\xa6\x24\xa4\xf7\x90\x75\xbb\x33\ -\xc6\x39\x93\xed\x14\x00\x7d\xc0\xac\x8f\xa0\x36\x93\xb7\xab\x82\ -\x37\x17\xfc\xe7\x4c\xee\x3e\x0a\xaa\xa2\x60\x85\x77\xb7\x56\x88\ -\x82\xb7\x1b\x8e\x82\x34\xeb\xdb\x5f\x17\x91\x60\x05\xb2\xc9\x7c\ -\xe9\x6b\xab\xe4\xeb\x4b\x92\xbe\xba\xb7\x0d\x6f\xbe\x71\x22\x67\ -\x7a\xa0\xd8\x0d\x88\x5b\xcd\xaf\x53\x15\xfe\x70\x32\xf7\x4e\x5d\ -\xe3\xd4\x2b\xd4\xb4\x55\x27\x2c\xcd\x9b\xe0\xf5\xee\xf1\x61\xe2\ -\xf3\x24\x00\xc2\x99\x36\xe7\x64\x9b\x27\x2a\x35\x81\xf9\x99\x09\ -\xf8\x10\x30\xb3\x14\x98\x1c\x09\x60\x09\x4f\x0e\xcb\xdf\x6c\x55\ -\x1c\xd1\x5f\x74\x86\xab\x81\x5b\x25\x91\xae\xa1\x24\x58\x2b\x33\ -\xc3\xc0\xed\xb4\x40\x66\x85\xa1\x92\x51\xf5\xae\x55\xbd\x29\x1e\ -\x6f\xec\xf6\x13\x5c\x9e\x53\x1f\x42\xc9\x03\x50\xb7\xf5\xf5\x1c\ -\xa6\x0e\x7b\xe6\xf2\x1a\x2f\xde\x25\x8c\xdb\xd7\xbf\x3f\x70\x88\ -\x70\x85\x37\x4a\x4e\xa6\x76\xfc\x8a\xcb\xf1\x2d\xa8\x88\x09\x7b\ -\xe4\xb4\xa3\x7c\x76\xc7\xe2\x17\x19\xee\xdb\xdb\x64\x9d\xa1\xc0\ -\xe3\x36\x59\x0f\x2e\x89\x02\x7b\x06\x80\x37\x1b\x7f\xdb\xba\x40\ -\xa4\xb5\xd1\xed\xed\x56\x32\xf6\x03\x98\xd7\x04\x0d\x73\xdb\x9a\ -\x4c\x60\xbb\x1e\xb9\xd3\x5a\x12\x24\x96\x4a\x1a\xcc\xba\x82\xff\ -\x3e\xb0\xa9\x9a\x4a\x00\xf5\x1c\xbb\xab\x56\x81\x6f\x7f\x7d\xd9\ -\xef\xb0\xd6\xbb\xec\xe9\x7a\xf9\xf8\xa9\xbd\xf9\x7b\xd4\x92\x62\ -\xe7\xa3\x89\xcd\x7f\xb6\xac\xf4\xef\x04\xba\x06\x51\xd6\x43\x9f\ -\xef\x8d\x87\xe6\xf5\xec\xdf\x78\xd8\xc8\x1b\x0f\x97\x32\x19\x70\ -\xe8\xc7\x4c\x54\xe1\x5e\xe0\xa8\x1a\xa9\x6b\xed\xd5\xf7\x63\xf0\ -\xd9\xd0\x16\x3e\x16\x85\x22\x2a\xa6\xc4\x30\xdb\x1c\xd8\x76\xe4\ -\x9e\xc1\xd8\xd5\x49\x25\xdf\x8b\x12\x2c\x9b\xb0\x7d\xa1\x71\xcc\ -\x19\x92\xb1\x62\xf2\xd1\x4f\xed\xac\x35\xf0\xea\x9e\xf2\x04\x16\ -\x74\x4c\xd7\xd8\x3b\x78\xd3\x29\xff\xf1\xda\x19\x65\x9b\xa8\x88\ -\xb1\x67\xab\xd1\xdb\x7c\xdd\x2f\x12\x19\x57\xaf\x5d\x4a\xc0\x90\ -\xd7\x08\xe5\xcf\x87\x1e\x83\x07\x05\x14\x7c\xcb\x78\x94\x80\x60\ -\xb9\x5e\x59\x21\xfc\xcb\x91\x9f\x05\xfd\xc1\x52\xd0\xe7\xf1\x7e\ -\xb4\x14\xef\xa5\x50\x5f\x54\xa5\x14\xe0\x85\x91\xe6\x2c\x39\x67\ -\xc6\x2c\xd5\xe4\x6f\x93\x67\x9f\xfb\x5d\xb4\x4e\x5a\x24\xfd\x6e\ -\xef\xa2\xd5\xed\xb6\x6c\x2b\xe0\xc5\x6c\x12\xd1\x78\x98\x08\xb7\ -\x1d\xd6\xfb\xef\xc6\xdd\x5f\x61\x0f\xf2\x05\x03\xb2\x2f\x13\xe5\ -\x03\xea\x52\x9e\x65\x3f\xdd\xc4\x70\x94\x51\x2a\x51\x3b\x4d\xe6\ -\x47\x52\x2d\xe7\x3e\xef\x9c\x7b\x8f\xaa\xf8\xa4\xd3\x3e\x8f\x89\ -\xc1\x12\x44\xf7\xbe\xde\x24\x3a\xcc\xe9\xf9\xe0\xab\xd4\x5c\x14\ -\x4b\x14\xcb\xa5\x9d\x7e\xf2\xa9\xdf\x84\xd6\x72\x6e\xd4\x59\x60\ -\x51\x70\xb3\x26\x0b\x6f\x75\x55\x6a\xb3\xac\x72\x9d\x4a\x96\xdb\ -\xe6\xd4\xca\xaa\xcd\x6a\x0b\x15\xd4\x9d\x28\x93\xf7\xc4\xd5\xca\ -\x14\xd4\x9d\x28\x53\x4a\x4a\xd5\x1a\x2d\x4c\x59\x5f\xad\xf2\x80\ -\xfb\x04\x59\x81\x76\x01\xa1\x5d\xe8\x64\x6f\x42\xd9\x5d\x64\xbc\ -\xf7\xda\x09\xeb\xbd\xfa\x1f\x60\x53\xb8\xc3\ +\x00\x3e\x97\x78\x9c\xed\x5b\x5b\x73\xdb\xb8\x0e\x7e\xef\xaf\xe0\ +\xf8\xb9\x5b\xdb\xb9\x35\xc9\x28\xde\x69\x9b\xa6\xed\x4e\xbb\x9b\ +\x1e\xe7\xb4\x8f\x3b\xb4\x04\x5b\xdc\x52\xa2\x96\xa4\x62\x7b\x7f\ +\xfd\x01\x29\xc9\xb2\x64\x49\x8e\x23\x5f\xce\x74\xdd\x69\xa7\x12\ +\x41\x03\x20\x04\x7c\x00\x28\xca\xf9\x75\x16\x70\xf2\x08\x52\x31\ +\x11\xde\x74\xfa\xaf\x7a\x1d\x02\xa1\x2b\x3c\x16\x4e\x6e\x3a\xff\ +\x7d\xb8\xfb\xe5\xb2\xf3\xeb\xe0\x85\x13\xb3\x7c\xd2\x19\x4e\x1a\ +\xbc\x20\x8e\xcb\xa9\x52\x83\x0f\x31\xbb\xbe\xbe\x65\x94\x8b\x09\ +\xfe\xcf\x27\x43\xd0\x1a\x7f\xac\xde\x48\xd7\x77\xba\xc9\x1c\x9c\ +\x3c\x65\xde\x04\x34\xb1\xf7\x37\x9d\xaf\xdf\xed\x6d\x87\x84\x34\ +\x80\x9b\x4e\x13\x0f\x23\x8a\x38\x91\x14\x11\x48\x3d\x4f\x7f\x30\ +\x01\x11\x80\x96\x73\x4b\x24\x8e\x04\x57\xdb\x2b\xe2\xcc\x06\x3d\ +\xa7\x3b\x4b\x6f\xe6\xe6\x66\x9e\xde\xa0\x06\xda\x1f\x9c\xbf\x3e\ +\x77\xba\xc9\x65\x32\xec\x03\x9b\xf8\x7a\x70\x71\x72\xe5\x74\xd3\ +\x6b\xcb\xb3\x9b\x31\x75\xba\x99\xf0\x2a\x4d\xa6\x2c\xf4\xc4\xf4\ +\x81\x69\x0e\xa9\x32\x4a\x4b\xd4\x7d\xf0\x01\x42\x90\x94\x13\x95\ +\xae\xc5\xe9\xa6\x84\x55\x96\x9c\xce\x45\x9c\xdb\xe6\xdb\x5b\x31\ +\xfb\x6c\x87\x52\x8e\x25\x91\x2a\xa2\x2e\x32\xea\xa4\x0b\x08\xe3\ +\x60\x04\x72\x70\xe1\x74\xd3\xab\x44\xfd\x65\x09\x2b\x2c\x02\x2a\ +\x27\x2c\x2c\x71\xb8\x6a\xe4\xc0\x34\x04\xb9\x25\x97\x9f\xe5\x07\ +\x29\xe2\x08\x75\xce\x9e\xe6\x24\xbb\x4f\xa6\xaf\x08\xd7\xb9\xb1\ +\x2a\xec\x65\x9e\x39\x19\x56\x18\x6d\x55\xa7\x46\xd3\xa5\xc2\xd0\ +\x6b\x35\x73\x29\x4f\x46\xff\x3c\xc9\xe5\xe6\x0b\xaa\x60\xf4\x71\ +\x85\x91\x2f\x24\xfb\x47\x84\xba\x82\x55\x99\xd9\xaa\x89\x3e\xd3\ +\x11\xf0\x8c\x13\x37\x37\x85\x9f\x57\xd8\x08\x66\xba\x30\x61\x61\ +\xa7\x5b\x18\xd3\x98\x23\x6b\xc1\x85\x24\x63\xfc\x37\xa5\x9c\x97\ +\x2d\x55\x6d\xae\x64\x30\xd1\x6d\x49\xf9\x6e\x51\xfb\x95\xc5\x18\ +\x87\x03\xb9\x62\x87\xa1\x1d\x6e\x5c\x06\xce\x05\x9c\xaa\x11\x37\ +\x4a\xab\x01\x74\xb5\xc1\x57\x7d\x7d\xfd\x71\xc1\xcf\xe9\xda\xc1\ +\x75\x0b\x58\x8d\x07\xf6\x0f\x7c\x64\x21\x3e\x29\xa5\x3d\x0c\xb7\ +\x9b\x4e\xaf\x6c\x3a\x9c\x51\x18\xc9\xd0\xe0\xac\x57\x00\x83\x05\ +\x35\x05\x82\x93\x5e\x01\x13\x72\xb5\xca\x0c\x6b\x2c\x9d\x18\x6e\ +\x03\x4b\x17\xdd\xc6\xc2\xe2\xbd\x84\xf1\x3b\xf3\xac\xdf\xc6\x5a\ +\xa3\x19\xb3\x20\x33\xb4\x08\x69\xd6\x0f\x46\x09\xad\xd1\xa3\x84\ +\xe0\x0f\x2c\xaa\x76\xaa\x07\x9f\x29\x82\x7f\xb5\x0f\xc4\x5b\x71\ +\xb0\x10\xa6\xe4\x3b\x3a\x19\x11\xa3\xbf\x10\x14\x9f\xee\x6b\x2b\ +\x4a\x58\x9e\x25\x15\xec\x58\xc9\xfe\x12\xbc\xc1\x49\xff\xcc\x80\ +\xb0\x57\x22\x4d\x24\x40\x98\x10\x93\xcb\x22\x79\xc4\x63\x48\xa8\ +\xf6\xaa\xf8\xd8\x56\x44\x3d\x4d\x6b\x63\xe6\xf7\xa1\x49\x37\xb5\ +\x1e\xe6\xa6\x16\x31\x66\xb2\x4f\x0b\x85\x3d\xd7\x48\x46\xdc\x3d\ +\xd5\xfe\x7a\x69\x5f\x84\xd7\x4d\xf3\xec\xb6\xa2\xdf\xe9\x26\x48\ +\xb8\x80\xc9\x02\xb9\x2d\x68\xb6\x82\xcc\xad\x01\x26\x12\x62\x57\ +\xc7\x12\x0e\x87\x9a\x6b\xe0\xff\x88\x9b\xfb\xc4\xcd\x75\xb9\xb8\ +\x1d\x72\x0e\x33\x6f\xdb\x2f\x7c\xf6\xcf\x7b\xf5\xf0\xd9\xbf\xb8\ +\x6a\x80\xcf\xfe\xe5\xc5\x81\xe0\x73\x61\xab\x23\x86\xd6\x17\x9e\ +\x17\xed\x0a\xcf\xf3\xed\x15\x9e\xb6\xf7\x39\x20\x88\x9e\x1d\x41\ +\xb4\xde\xd6\xfb\x06\xd1\xd3\xc6\x87\xb1\x09\x74\x9d\x9e\xd6\x23\ +\xd7\xd9\x79\x03\x70\x5d\x1c\x0a\xb7\xbe\xdb\x48\x38\x82\x56\x3d\ +\x68\xf5\xcf\xda\xa1\xd6\xc5\x96\x51\x8b\x4c\x8c\xac\xc3\x41\x57\ +\x33\x0a\x1f\xa1\x6b\xaf\xd0\xd5\x9c\x47\x36\x81\xae\xab\x06\xe8\ +\xea\x5f\x9e\x36\xf5\xac\xbd\xd3\x83\x82\xd7\x07\x63\xbb\x23\x82\ +\x35\x20\x58\xef\xe9\x08\x96\x7b\xa0\x0f\xee\x8f\xe5\xbd\xd1\x85\ +\xfb\x19\xc2\x48\xcc\xfe\xbc\x7c\x7e\xef\xf1\x69\x8c\x6d\x47\xd2\ +\x7e\x58\x76\xe0\xbd\x24\x53\x1f\x42\x72\x42\x14\x0b\x18\xa7\xe9\ +\xde\x20\xa1\xd8\x7c\x8c\x00\x7f\x82\x30\x18\x86\xd8\x83\x98\x99\ +\xd8\xb1\x30\x49\xe2\xd0\x03\xc9\xe7\x86\xa6\x7e\x80\x46\x3e\x0a\ +\x11\x92\x73\x9c\x4f\xfe\x12\x2c\x04\x8f\x20\x44\x08\x22\x42\x78\ +\x49\x68\xe8\xd9\x46\x47\x4f\x45\xca\x39\x9d\xea\x8a\x00\xcc\x94\ +\xe7\xb7\x36\xf5\x08\xfe\x1b\x6a\x91\x4a\x1b\x51\x05\x4b\x6a\x9a\ +\xa5\x46\x42\x29\x36\xe2\x2d\x24\x6f\x10\x29\xc6\x20\x66\x87\x67\ +\x98\xaa\xf0\x53\x46\x4a\x91\x58\xe0\xb5\x34\xef\x19\xef\x03\xf2\ +\x36\xfb\x69\x6f\x04\x3e\xdd\xbd\x23\x2c\x88\x84\xd4\xdb\x7e\x0d\ +\xb0\xbd\x97\x00\x57\x3b\xc1\x84\x35\x2d\x5a\x13\x26\x58\xe6\x09\ +\x2c\x60\xd4\x7a\x4c\x45\xb8\x28\xe2\xc1\x28\x9e\x90\x00\x94\xa2\ +\x13\x1b\x39\x8c\x43\x6a\x5b\x13\xf9\xc6\xd2\x63\x1c\x6a\xb1\x35\ +\x51\x1f\xbf\x43\x1f\xab\xad\xa2\x02\x7b\x09\x56\x36\x76\x6f\x8d\ +\xd4\x9f\x32\x48\xdb\x7b\xee\xf9\x2e\x3c\x77\xbb\xb9\x6c\xe1\x96\ +\x49\x9a\xa1\x7c\x4a\xe7\xca\x24\xa6\xc4\x73\x31\x35\x4d\x99\xf6\ +\x6d\x46\xc2\x1c\x05\x32\xa4\x9c\x44\x73\xed\x0b\x4c\x0b\x54\x2a\ +\x90\x2f\x09\x3c\x62\x8e\x60\x63\xf2\x69\xec\xfe\x11\x41\x38\xf4\ +\x01\x19\x19\x31\xa1\x42\x53\x70\xf0\x76\xe1\xf1\x77\x42\xba\x50\ +\xd4\x64\x2f\x1e\x3f\x36\x72\x71\xa5\xf7\x56\xf2\x7d\x2a\xf8\xe8\ +\xfd\x15\xde\x7f\xba\x13\xdc\x6e\xb1\x8f\xfc\x4e\x02\xd5\xe8\xe9\ +\x36\x59\x2a\xdb\xa8\x02\x75\xfd\xe4\x75\x78\xb2\x71\x4c\xf4\x3c\ +\xda\x49\x85\x65\x13\x36\x96\x86\x18\x55\x21\xb6\x9d\x18\x62\x73\ +\x2b\x6b\x3f\x38\xed\xda\x95\xa3\xdb\x5a\x35\x7e\xce\x9a\x6a\x0b\ +\xdd\x47\x7f\x27\x1e\xbb\x66\x5b\x65\x53\xc4\xc6\x5f\x87\xe6\xdc\ +\xc6\xa2\x85\x58\x20\x35\x55\x44\xc5\x23\x2d\xa9\x6b\x36\x35\x14\ +\x4e\x45\xd8\x96\x53\x86\x05\xbd\xa9\xed\x89\xf2\x69\x94\x03\x3d\ +\xba\x84\x37\x27\x3e\x7d\x84\xb4\x4d\x59\x30\xce\x98\xec\x06\xb9\ +\x87\x80\x70\x8d\xde\xb8\x90\xb7\xaf\x4a\x25\x13\xfc\xc7\x42\xee\ +\x31\x0a\xaa\xa2\x60\x83\x43\x37\x1b\x44\xc1\xeb\x2d\x47\x41\x02\ +\xd7\xe6\xd7\x79\x24\x18\x81\x6c\xb6\x5c\xb3\x98\xf2\xe6\xd3\x2d\ +\x49\xce\x5c\xed\xc2\x9b\xef\xad\xc8\x85\x1e\x28\x76\x0b\xe2\x36\ +\xf3\xeb\x44\x85\xdf\xad\xcc\xa3\x53\xd7\x38\xf5\x06\xc5\x48\xd5\ +\xd6\x78\xf3\xee\x65\xbd\x7b\xbc\x9f\xb9\x3c\xf6\x80\x70\xa6\xf4\ +\x35\xd9\xe5\x56\x78\x4d\x60\x7e\x66\x21\xbc\xf7\x98\x5e\x09\x4c\ +\x8e\x04\x30\x84\x67\x87\xe5\x1b\x53\xce\x04\xf4\x17\x95\xe2\xaa\ +\x67\x57\x49\x84\xed\x04\x08\x16\x39\x4c\x33\xb0\x2d\x32\xa4\x56\ +\x18\x4b\x11\x54\x6f\x37\xd4\x9b\xe2\xe9\xc6\xee\x3e\xc3\xe5\x39\ +\x75\xc1\x17\xdc\x03\xf9\x50\xfb\x0c\x71\x35\xf6\x85\xc2\x4b\xbc\ +\x78\x1b\x33\x6e\xce\xed\xbe\xe7\x10\xe0\x0a\xef\xa5\x98\xcd\xcd\ +\xf8\x1d\x17\xd3\x07\x90\x01\xc3\xfe\xc8\xde\xc7\x32\x64\xca\xcf\ +\x67\xee\x2d\xc9\xfd\x60\xd1\x11\x03\xaa\x31\xa0\xe5\x4b\xfd\x35\ +\x19\xac\xde\x7f\xac\xc3\x9b\xea\x0c\x73\x84\x0f\xea\xfa\xff\x11\ +\x06\xda\xf4\x55\x0d\x40\x80\xe9\xd7\x76\x39\x98\x8c\xa9\x26\x41\ +\x8c\xc3\xa5\x8a\x35\xb1\x49\x8b\xf0\x78\x62\x08\x1f\x2c\x22\xdf\ +\xa8\x2f\xb8\xc4\x9f\x32\x26\x77\xb7\x8d\xbd\x48\xd7\x4f\xdb\xc6\ +\x3e\xb9\x25\x12\xcc\x5b\x16\xbc\xd9\xfa\x79\xf6\xbc\x74\x68\x0d\ +\x41\xaf\x77\x52\x5a\xaf\x29\x4e\x9a\x42\x77\x69\xe3\x98\x85\x63\ +\x21\x03\xfb\x3e\x9c\x78\xb1\xa1\x92\x06\xb3\x6e\xe0\xbf\x6b\xb6\ +\xad\x13\x09\x20\x0f\xb1\x7f\x6d\x14\xf8\xf6\x9f\x2f\xc7\x3d\xec\ +\x7a\x97\xbd\x6c\x97\x34\x9b\x4f\x2c\xd5\xbb\xc6\x3b\xd4\x92\x4a\ +\xc0\x04\x61\x32\x94\xe9\xff\xdc\x1f\x21\xba\x06\x91\xc6\x43\x0f\ +\x77\xa6\xa4\x79\x3d\xc7\x33\x25\x5b\x39\x53\x72\x2b\xe2\x11\x87\ +\x61\xc4\xc2\x2a\xdc\xf3\x2c\x55\x21\xb5\xd5\xdb\x90\x61\x04\x2e\ +\x1b\x9b\x0e\xc5\xa0\x50\x40\xc3\x39\xd1\x2c\x80\xe4\x98\xf1\x23\ +\x83\xa9\xad\x63\x0a\xbe\x97\xd5\x2f\x34\x8a\x38\x43\x32\xb6\x36\ +\x2e\xfa\xa9\x99\xd5\x02\xaf\x1e\x29\x8f\xa1\xa4\x63\xb2\xc6\xc1\ +\xc9\xab\x5e\xf1\x8f\xd3\x4d\x29\xbb\x44\x45\x8c\x3d\x53\x2f\x3e\ +\x64\xeb\xfe\x57\x20\x63\x21\xec\xb3\x0a\x60\xe5\xf3\xab\x27\x06\ +\x7c\x1e\xee\xdf\x52\x4e\xe5\x60\xaf\x5a\xd1\x86\x81\xbe\x12\xe6\ +\x69\x90\x9f\x54\x05\x79\x16\xe2\x67\x55\x21\x5e\x0e\xf0\x0a\xe5\ +\xca\xc1\xbd\x79\x1d\xb8\x34\x69\x69\x46\x9a\x91\xb2\x63\xfd\xe9\ +\x77\x97\x37\x9d\x8b\x0e\x49\x3e\xa0\xbc\xe9\xf4\xfb\x1d\xd3\xda\ +\x3b\x11\x9b\x05\x34\x1a\xc7\xa1\xdd\xde\x1e\xfc\x7d\x6f\xef\xef\ +\xa4\x08\xbe\x60\xdc\x0e\x45\x2c\x5d\x40\xcd\x8b\xb3\xcc\x37\xb4\ +\x18\xb5\x22\x48\x24\x2a\xab\xc9\xf2\x48\xa2\xe5\xd2\x77\xb6\x4b\ +\x07\xda\xf2\x6f\x6b\xcd\x23\x9d\x69\xac\x54\xd4\xe0\xeb\x7d\xac\ +\xfc\x8c\x9e\x0d\xbe\x48\x4c\x4c\xb1\x92\x31\x5c\xba\xc9\xb7\xb7\ +\xea\x95\x6f\xac\x6d\x47\xad\x05\xca\x82\x9b\x35\x29\x1d\xaf\xab\ +\xd4\x66\x55\xe5\x3a\x95\x0c\xb7\xed\xa9\x95\x16\xa5\xd5\x16\xca\ +\xa9\x7b\x51\x26\x6b\x6e\xab\x95\xc9\xa9\x7b\x51\xa6\x90\xbb\xaa\ +\x35\x2a\x4d\x69\xaf\x56\x71\xc0\x7e\x0b\x2e\x41\xd9\x80\x50\x36\ +\x74\xd2\x23\x69\xe6\xad\x10\xde\x3b\xdd\x98\x0d\x5e\xfc\x0f\x2b\ +\xef\x24\x3e\ \x00\x00\x07\x4c\ \x00\ \x00\x29\xd1\x78\x9c\xed\x59\x5b\x8f\xe2\x46\x16\x7e\xef\x5f\xe1\ @@ -33747,40 +33748,40 @@ qt_resource_struct = "\ \x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x02\x52\xbc\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x01\xbc\xaa\ \x00\x00\x02\x3e\x00\x00\x00\x00\x00\x01\x00\x05\x84\xf1\ -\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x07\x5b\xb5\ -\x00\x00\x07\x0a\x00\x01\x00\x00\x00\x01\x00\x07\xc2\xd9\ -\x00\x00\x05\x9c\x00\x00\x00\x00\x00\x01\x00\x07\x6a\x2c\ -\x00\x00\x04\x12\x00\x00\x00\x00\x00\x01\x00\x07\x05\x81\ -\x00\x00\x08\x3a\x00\x01\x00\x00\x00\x01\x00\x08\x1a\xae\ -\x00\x00\x06\xdc\x00\x01\x00\x00\x00\x01\x00\x07\xbc\x04\ -\x00\x00\x04\x4c\x00\x01\x00\x00\x00\x01\x00\x07\x13\xf0\ -\x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x07\x27\x77\ -\x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x06\xea\xdf\ -\x00\x00\x07\xd4\x00\x00\x00\x00\x00\x01\x00\x07\xf7\x6a\ -\x00\x00\x06\x62\x00\x01\x00\x00\x00\x01\x00\x07\xa1\x29\ -\x00\x00\x06\xba\x00\x01\x00\x00\x00\x01\x00\x07\xb3\x16\ -\x00\x00\x05\xdc\x00\x00\x00\x00\x00\x01\x00\x07\x84\x06\ -\x00\x00\x05\x7c\x00\x01\x00\x00\x00\x01\x00\x07\x62\x64\ -\x00\x00\x03\x94\x00\x01\x00\x00\x00\x01\x00\x06\xe1\xe6\ -\x00\x00\x06\x8e\x00\x01\x00\x00\x00\x01\x00\x07\xa7\xec\ -\x00\x00\x03\x38\x00\x01\x00\x00\x00\x01\x00\x06\xcf\xc5\ -\x00\x00\x07\xaa\x00\x01\x00\x00\x00\x01\x00\x07\xef\xd5\ -\x00\x00\x04\x7a\x00\x01\x00\x00\x00\x01\x00\x07\x1d\x48\ -\x00\x00\x03\x0e\x00\x01\x00\x00\x00\x01\x00\x06\xc6\x1d\ -\x00\x00\x03\x74\x00\x01\x00\x00\x00\x01\x00\x06\xd9\x78\ -\x00\x00\x06\x0c\x00\x01\x00\x00\x00\x01\x00\x07\x93\x74\ -\x00\x00\x05\x0a\x00\x00\x00\x00\x00\x01\x00\x07\x43\x72\ -\x00\x00\x06\x3a\x00\x01\x00\x00\x00\x01\x00\x07\x98\xc4\ -\x00\x00\x05\x34\x00\x01\x00\x00\x00\x01\x00\x07\x53\xf3\ -\x00\x00\x07\x34\x00\x00\x00\x00\x00\x01\x00\x07\xcb\x1e\ -\x00\x00\x04\xc2\x00\x01\x00\x00\x00\x01\x00\x07\x2c\x8e\ -\x00\x00\x07\x7e\x00\x01\x00\x00\x00\x01\x00\x07\xe7\x5b\ -\x00\x00\x07\x5e\x00\x01\x00\x00\x00\x01\x00\x07\xdd\x21\ -\x00\x00\x05\xbc\x00\x01\x00\x00\x00\x01\x00\x07\x7d\xee\ -\x00\x00\x08\x00\x00\x00\x00\x00\x00\x01\x00\x08\x09\x39\ -\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x06\xf3\x21\ -\x00\x00\x04\xec\x00\x00\x00\x00\x00\x01\x00\x07\x34\x76\ -\x00\x00\x02\xda\x00\x01\x00\x00\x00\x01\x00\x06\xbe\xcd\ +\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x07\x5b\xbd\ +\x00\x00\x07\x0a\x00\x01\x00\x00\x00\x01\x00\x07\xc2\xe1\ +\x00\x00\x05\x9c\x00\x00\x00\x00\x00\x01\x00\x07\x6a\x34\ +\x00\x00\x04\x12\x00\x00\x00\x00\x00\x01\x00\x07\x05\x89\ +\x00\x00\x08\x3a\x00\x01\x00\x00\x00\x01\x00\x08\x1a\xb6\ +\x00\x00\x06\xdc\x00\x01\x00\x00\x00\x01\x00\x07\xbc\x0c\ +\x00\x00\x04\x4c\x00\x01\x00\x00\x00\x01\x00\x07\x13\xf8\ +\x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x07\x27\x7f\ +\x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x06\xea\xe7\ +\x00\x00\x07\xd4\x00\x00\x00\x00\x00\x01\x00\x07\xf7\x72\ +\x00\x00\x06\x62\x00\x01\x00\x00\x00\x01\x00\x07\xa1\x31\ +\x00\x00\x06\xba\x00\x01\x00\x00\x00\x01\x00\x07\xb3\x1e\ +\x00\x00\x05\xdc\x00\x00\x00\x00\x00\x01\x00\x07\x84\x0e\ +\x00\x00\x05\x7c\x00\x01\x00\x00\x00\x01\x00\x07\x62\x6c\ +\x00\x00\x03\x94\x00\x01\x00\x00\x00\x01\x00\x06\xe1\xee\ +\x00\x00\x06\x8e\x00\x01\x00\x00\x00\x01\x00\x07\xa7\xf4\ +\x00\x00\x03\x38\x00\x01\x00\x00\x00\x01\x00\x06\xcf\xcd\ +\x00\x00\x07\xaa\x00\x01\x00\x00\x00\x01\x00\x07\xef\xdd\ +\x00\x00\x04\x7a\x00\x01\x00\x00\x00\x01\x00\x07\x1d\x50\ +\x00\x00\x03\x0e\x00\x01\x00\x00\x00\x01\x00\x06\xc6\x25\ +\x00\x00\x03\x74\x00\x01\x00\x00\x00\x01\x00\x06\xd9\x80\ +\x00\x00\x06\x0c\x00\x01\x00\x00\x00\x01\x00\x07\x93\x7c\ +\x00\x00\x05\x0a\x00\x00\x00\x00\x00\x01\x00\x07\x43\x7a\ +\x00\x00\x06\x3a\x00\x01\x00\x00\x00\x01\x00\x07\x98\xcc\ +\x00\x00\x05\x34\x00\x01\x00\x00\x00\x01\x00\x07\x53\xfb\ +\x00\x00\x07\x34\x00\x00\x00\x00\x00\x01\x00\x07\xcb\x26\ +\x00\x00\x04\xc2\x00\x01\x00\x00\x00\x01\x00\x07\x2c\x96\ +\x00\x00\x07\x7e\x00\x01\x00\x00\x00\x01\x00\x07\xe7\x63\ +\x00\x00\x07\x5e\x00\x01\x00\x00\x00\x01\x00\x07\xdd\x29\ +\x00\x00\x05\xbc\x00\x01\x00\x00\x00\x01\x00\x07\x7d\xf6\ +\x00\x00\x08\x00\x00\x00\x00\x00\x00\x01\x00\x08\x09\x41\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x06\xf3\x29\ +\x00\x00\x04\xec\x00\x00\x00\x00\x00\x01\x00\x07\x34\x7e\ +\x00\x00\x02\xda\x00\x01\x00\x00\x00\x01\x00\x06\xbe\xd5\ \x00\x00\x02\xb2\x00\x01\x00\x00\x00\x01\x00\x06\xb6\xfd\ " diff --git a/src/Mod/Arch/Resources/ui/archprefs-base.ui b/src/Mod/Arch/Resources/ui/archprefs-base.ui index 4741046ae..7de2e5bb2 100644 --- a/src/Mod/Arch/Resources/ui/archprefs-base.ui +++ b/src/Mod/Arch/Resources/ui/archprefs-base.ui @@ -285,23 +285,6 @@ - - - - - - Import furniture (can make the model heavy) - - - importIfcFurniture - - - Mod/Arch - - - - - @@ -360,7 +343,7 @@ - IfcSpace,IfcBuildingElementProxy,IfcFlowTerminal + IfcSpace,IfcBuildingElementProxy,IfcFlowTerminal,IfcFurnishingElement ifcSkip @@ -372,6 +355,33 @@ + + + + + + Import as meshes: + + + + + + + A comma-separated list of IFC types that must be imported as meshes + + + IfcFurnishingElement + + + ifcAsMesh + + + Mod/Arch + + + + + @@ -441,22 +451,22 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/src/Mod/Arch/importIFC.py b/src/Mod/Arch/importIFC.py index 140119ed0..8b19a037b 100644 --- a/src/Mod/Arch/importIFC.py +++ b/src/Mod/Arch/importIFC.py @@ -59,17 +59,17 @@ def insert(filename,docname): def getConfig(): "Gets Arch IFC import preferences" - global CREATE_IFC_GROUPS, IMPORT_IFC_FURNITURE, DEBUG, SKIP, PREFIX_NUMBERS, FORCE_PYTHON_PARSER, SEPARATE_OPENINGS + global CREATE_IFC_GROUPS, ASMESH, DEBUG, SKIP, PREFIX_NUMBERS, FORCE_PYTHON_PARSER, SEPARATE_OPENINGS CREATE_IFC_GROUPS = False IMPORT_IFC_FURNITURE = False DEBUG = False - SKIP = ["IfcSpace","IfcBuildingElementProxy","IfcFlowTerminal"] + SKIP = ["IfcBuildingElementProxy","IfcFlowTerminal","IfcFurnishingElement"] + ASMESH = ["IfcFurnishingElement"] PREFIX_NUMBERS = False FORCE_PYTHON_PARSER = False SEPARATE_OPENINGS = False p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") CREATE_IFC_GROUPS = p.GetBool("createIfcGroups") - IMPORT_IFC_FURNITURE = p.GetBool("importIfcFurniture") FORCE_PYTHON_PARSER = p.GetBool("forceIfcPythonParser") DEBUG = p.GetBool("ifcDebug") SEPARATE_OPENINGS = p.GetBool("ifcSeparateOpenings") @@ -77,7 +77,9 @@ def getConfig(): skiplist = p.GetString("ifcSkip") if skiplist: SKIP = skiplist.split(",") - + asmeshlist = p.GetString("ifcAsMesh") + if asmeshlist: + ASMESH = asmeshlist.split(",") def getIfcOpenShell(): "locates and imports ifcopenshell" @@ -104,8 +106,6 @@ def read(filename): if DEBUG: global ifcObjects,ifcParents ifcObjects = {} # a table to relate ifc id with freecad object ifcParents = {} # a table to relate ifc id with parent id - if not IMPORT_IFC_FURNITURE: - SKIP.append("IfcFurnishingElement") if hasattr(IfcImport,"DISABLE_OPENING_SUBTRACTIONS") and SEPARATE_OPENINGS: IfcImport.Settings(IfcImport.DISABLE_OPENING_SUBTRACTIONS,True) else: @@ -136,7 +136,9 @@ def read(filename): else: # build shape shape = None - if useShapes: + if obj.type in ASMESH: + shape = getMesh(obj)[0] + elif useShapes: shape = getShape(obj) # walls @@ -164,6 +166,10 @@ def read(filename): elif obj.type in ["IfcSite"]: nobj = makeSite(obj.id,shape,n) + # spaces + elif obj.type in ["IfcSpace"]: + nobj = makeSpace(obj.id,shape,n) + elif shape: # treat as dumb parts #if DEBUG: print "Fixme: Shape-containing object not handled: ",obj.id, " ", obj.type @@ -306,8 +312,12 @@ def makeWall(entity,shape=None,name="Wall"): try: if shape: # use ifcopenshell - body = FreeCAD.ActiveDocument.addObject("Part::Feature","WallBody") - body.Shape = shape + if isinstance(shape,Part.Shape): + body = FreeCAD.ActiveDocument.addObject("Part::Feature",name+"_body") + body.Shape = shape + else: + body = FreeCAD.ActiveDocument.addObject("Mesh::Feature",name+"_body") + body.Mesh = shape wall = Arch.makeWall(body,name=name) wall.Label = name if DEBUG: print "made wall object ",entity,":",wall @@ -352,11 +362,12 @@ def makeWindow(entity,shape=None,name="Window"): try: if shape: # use ifcopenshell - window = Arch.makeWindow(name=name) - window.Shape = shape - window.Label = name - if DEBUG: print "made window object ",entity,":",window - return window + if isinstance(shape,Part.Shape): + window = Arch.makeWindow(name=name) + window.Shape = shape + window.Label = name + if DEBUG: print "made window object ",entity,":",window + return window # use internal parser if DEBUG: print "=====> making window",entity.id @@ -386,9 +397,13 @@ def makeStructure(entity,shape=None,name="Structure"): try: if shape: # use ifcopenshell - sh = FreeCAD.ActiveDocument.addObject("Part::Feature","StructureBody") - sh.Shape = shape - structure = Arch.makeStructure(sh,name=name) + if isinstance(shape,Part.Shape): + body = FreeCAD.ActiveDocument.addObject("Part::Feature",name+"_body") + body.Shape = shape + else: + body = FreeCAD.ActiveDocument.addObject("Mesh::Feature",name+"_body") + body.Mesh = shape + structure = Arch.makeStructure(body,name=name) structure.Label = name if DEBUG: print "made structure object ",entity,":",structure return structure @@ -419,15 +434,37 @@ def makeStructure(entity,shape=None,name="Structure"): def makeSite(entity,shape=None,name="Site"): "makes a site in the freecad document" try: + body = None if shape: # use ifcopenshell - site = Arch.makeSite(name=name) - site.Label = name - body = FreeCAD.ActiveDocument.addObject("Part::Feature",name+"_body") - body.Shape = shape + if isinstance(shape,Part.Shape): + body = FreeCAD.ActiveDocument.addObject("Part::Feature",name+"_body") + body.Shape = shape + else: + body = FreeCAD.ActiveDocument.addObject("Mesh::Feature",name+"_body") + body.Mesh = shape + site = Arch.makeSite(name=name) + site.Label = name + if body: site.Terrain = body - if DEBUG: print "made site object ",entity,":",site - return site + if DEBUG: print "made site object ",entity,":",site + return site + except: + return None + +def makeSpace(entity,shape=None,name="Space"): + "makes a space in the freecad document" + try: + if shape: + # use ifcopenshell + if isinstance(shape,Part.Shape): + space = Arch.makeSpace(name=name) + space.Label = name + body = FreeCAD.ActiveDocument.addObject("Part::Feature",name+"_body") + body.Shape = shape + space.Base = body + if DEBUG: print "made space object ",entity,":",space + return site except: return None @@ -437,11 +474,12 @@ def makeRoof(entity,shape=None,name="Roof"): try: if shape: # use ifcopenshell - roof = Arch.makeRoof(name=name) - roof.Label = name - roof.Shape = shape - if DEBUG: print "made roof object ",entity,":",roof - return roof + if isinstance(shape,Part.Shape): + roof = Arch.makeRoof(name=name) + roof.Label = name + roof.Shape = shape + if DEBUG: print "made roof object ",entity,":",roof + return roof except: return None @@ -450,6 +488,9 @@ def makeRoof(entity,shape=None,name="Roof"): def getMesh(obj): "gets mesh and placement from an IfcOpenShell object" import Mesh + meshdata = [] + print obj.mesh.faces + print obj.mesh.verts f = obj.mesh.faces v = obj.mesh.verts for i in range(0, len(f), 3): @@ -458,6 +499,7 @@ def getMesh(obj): vi = f[i+j]*3 face.append([v[vi],v[vi+1],v[vi+2]]) meshdata.append(face) + print meshdata me = Mesh.Mesh(meshdata) # get transformation matrix m = obj.matrix