Auto-generating drawings #4462
Replies: 7 comments 4 replies
-
Here's a work in progress script, it creates plans (with labelled spaces) and a north elevation for every building in the IFC file. |
Beta Was this translation helpful? Give feedback.
-
Yes it's an oversight and there are currently a lot of assumptions in the code e.g. that you've first created the drawing before adding to the sheet or the SVGs exist etc. It's definitely very messy and that's because it grew from a messy prototype but hopefully the mess is slowly being cleaned up as we figure out what approaches work and what doesn't. The hardcoded 30,30 is definitely "just get it working" code. Huge improvements can be made here such as integrating with Inkscape through an Inkscape plugin, or integration with the upcoming web UI (hopefully from GSoC) which will allow you to do simple page layouting from the web, etc. Annotations do not need to be associated with a drawing, no. But we probably haven't done much in the UI to make it friendly to add annotations outside drawings. The intended workflow for the bulk tag is that you'd ideally tag using an annotation type (which would then enforce the |
Beta Was this translation helpful? Give feedback.
-
Thanks, have a better idea what is going on now. It's a shame blender doesn't allow SVG textures. BlenderBIM could conjure up single-face mesh proxies for each of the SVG fragments and allow the user to arrange the sheet in the 3d viewport (or even all the sheets at the same time in a single workspace) |
Beta Was this translation helpful? Give feedback.
-
Name: "SVG placement" A drawback is that |
Beta Was this translation helpful? Give feedback.
-
l'm learning.
How can you tell that from the schema documentation? |
Beta Was this translation helpful? Give feedback.
-
..it looks like the sheet can have a single |
Beta Was this translation helpful? Give feedback.
-
I have a tool that auto-generates GA drawings. This project has 219 drawings on 32 sheets and it seems to work ok: Though to do this I'm currently stuffing the drawing position on the sheet into a pset attached to the IfcAnnotation for the drawing. This is wrong since the reference to the drawing in the sheet is an IfcDocumentReference, and the drawing might appear in multiple positions on different sheets with multiple IfcDocumentReference. The problem is that IfcDocumentReference doesn't have any space to store this position info: Identification, Name and Description are already occupied by this use-case. My only idea so far is to attach it in the Location URI attribute, ie. currently this IfcDocumentReference looks something like this:
The location could be attached as a query string to the URI:
|
Beta Was this translation helpful? Give feedback.
-
I'm working on some code to auto-generate BlenderBIM drawings for an IFC file, and have some questions..
I'm iterating through all the buildings, finding each bounding box and creating a plan 'drawing' for each storey, then adding these plans to a sheet (one sheet per building). This is a project with 32 buildings:
In BlenderBIM, activating a drawing and clicking 'create_drawing' creates
assets
andcache
subfolders, copies over all the assets, generates SVG, and generally does everything you get if you had clicked 'add_drawing' in BlenderBIM to create the drawing - ok...but doing the same for sheets doesn't work the same way, clicking 'open_sheet_layout' complains that SVG files are missing. It seems that generating the SVG for sheets only happens when you 'add_sheet' in the UI. If this is an oversight I'll try and fix it (but I'm still very confused by the bbim code structure, this may take a while). Ultimately a user should be able to receive a bare IFC with drawings and sheets configured and be able to generate all those sheets.
The sheeter module places all drawings at a hard-coded 30,30 (millimetres?) position. Is the plan to eventually have some tool in BlenderBIM to control this? or is this something where positioning will always be done in Inkscape? An intermediate solution would be for locations to be a property of the drawing Document Reference which is respected when the sheet is generated?
I'd like to be able to label all the rooms. In BlenderBIM you have to have an active 'drawing' in order to add annotations. Is this a hard limitation? are all printable annotations necessarily associated with a drawing?
The Bulk Tag function is nice, is there any reason why the Literal defaults to the string
TEXT
and not to{{Name}}
?Beta Was this translation helpful? Give feedback.
All reactions