0 Members and 1 Guest are viewing this topic.
There is a way to make a selection set using mapfilter. If you could populate a list, then use a lisp routine to do each iteration, that is one path. The list can be created by converting a screenshot of the project browser. I use SnagIt that has not only the screen capture, but does it while scrolling and converts to text.
I'm not familiar with Doxel's expected file format or data, but maybe you can isolate each Revit assembly, manually or by creating assembly views, then export the view to DWG. The assembly view's name will likely reflect the assembly name, but you can also change it as you export. The resulting DWG has each part as a named block and the DWG will be your named assembly block. Import/Insert all the assembly blocks into an empty DWG to combine, if needed.
Doxel is requiring each assembly to be saved as a block in one combined DWG. Sounds like your method would work but i would also have hundreds of assemblies per floor. I was hoping to be able to save each assembly as 1 block all at once. And not have hundreds of cad files to create and import per floor. I know scripting could potentially do this, but i dont have the knowledge to create this lisp
Quote from: bolshevik09 on Oct 14, 2025, 16:47:34 PMDoxel is requiring each assembly to be saved as a block in one combined DWG. Sounds like your method would work but i would also have hundreds of assemblies per floor. I was hoping to be able to save each assembly as 1 block all at once. And not have hundreds of cad files to create and import per floor. I know scripting could potentially do this, but i dont have the knowledge to create this lispPlease try the attached AutoLISP file. It's been a long while since I've worked with AutoLISP, but I tested this and it worked for one of my drawings. Tried to have AI refresh my memory but it kept spitting out made up functions for this stuff.Open your drawing with all the spools in it. Drag the file into AutoCAD to load it, then use the MAKESPOOLBLOCKS command. The user is prompted to choose to place the block insert point at the internal origin of the drawing (0,0,0) or at one of the ITM endpoints somewhere within the spool.
You need to find a way to push the parameters into a field that imports into AutoCAD. Several options are the Fabrication Notes and Item number fields.When you import that, the script/lisp could run to make that selection set and block creation pretty quickly.Do you have a way to push those parameters over? It can be done via an API app or Dynamo.
Happy to see you got it working!
(while (< i len) (setq ename (ssname ss i)) (setq i (1+ i)) (if (and ename (entget ename)) (progn (setq vobj (vlax-ename->vla-object ename)) (setq spool (vlax-get-property vobj 'ItemSpoolName)) ...