Author Topic: xdata acad mep?  (Read 3356 times)

0 Members and 1 Guest are viewing this topic.

Amsterdammed

  • Guest
xdata acad mep?
« on: April 20, 2016, 08:55:24 AM »
Hello,

i try to figure same longshot out here. part of the solution could be xdata Manipulation in acad mep. Does anybody know here if there is a way to read xdata from acad mep objects created by ifc import out Revot mep? i need to do some automated work i cant get done in Revit, i thought i might be lucky in ACAD mep.

Thanks Bernd

 

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #1 on: April 24, 2016, 08:08:25 AM »
Did i phrase did stupid or is there really nobody here who knows if there's a way to extract all the non graphical information from an acad mep object in vlisp???

all help or hints would be very much appreciated !!

Thanks Bernd

ChrisCarlson

  • Guest
Re: xdata acad mep?
« Reply #2 on: April 26, 2016, 10:35:21 AM »
I'm not sure what kind of information is stored but what is the result of this?

Code - Auto/Visual Lisp: [Select]

ronjonp

  • Needs a day job
  • Posts: 7527
Re: xdata acad mep?
« Reply #3 on: April 26, 2016, 11:27:41 AM »
To see xdata you'll need to provide the applist portion of entget:
Code - Auto/Visual Lisp: [Select]
  1. (entget (car (entsel)) '("*"))

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #4 on: April 26, 2016, 11:47:42 AM »
thought so too, i worked a lot with xdata, but its not "there". so i guess they acdaMEP works with xrecords or dictionaries?

ChrisCarlson

  • Guest
Re: xdata acad mep?
« Reply #5 on: April 26, 2016, 12:59:18 PM »
Code: [Select]
Command: xdlist
Initializing...
Select object:
Enter application name <*>:
No Xdata associated with Application Name(s).
Object has 16383 bytes of Xdata space available.

http://adndevblog.typepad.com/aec/2012/08/revit-dwgdxf-export-specification-of-the-extended-data-xdata.html

I don't have AutoCAD MEP but I recall seeing a screenshot showing a properties window in MEP showing the (for the lack of a better phrase) advanced properties.

//Edit
How did you export the IFC from Revit? Is it possible you exported it without attaching any additional information?
« Last Edit: April 26, 2016, 01:08:21 PM by ChrisCarlson »

JohnK

  • Administrator
  • Seagull
  • Posts: 10626
Re: xdata acad mep?
« Reply #6 on: April 26, 2016, 01:46:01 PM »
Attached is the IFC I exported.
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

ChrisCarlson

  • Guest
Re: xdata acad mep?
« Reply #7 on: April 26, 2016, 01:59:06 PM »
That's annoying, Vanillia AutoCAD has ifcimport turned off.

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #8 on: April 26, 2016, 02:07:50 PM »
@Chris,
the link you attached is revering to what is attached when you export an entity with the REVIt build in export function.
the solids have described xdata attached, i will study your link if i can ge tany wiser form the link. I

But John pointed me  (in the Revit forum on this site) to the IFC export option and then import that in ACAD mep. but those elements do not have xdata, but either xrecords or dictionaries, bot h not my favorites in other words, i don;t know enough about hem to extract all the info available. But in ACAD mep properties there is a tab called xdtata showing the properties i am interested in to create my shop drawings as i did in acad  but then fram a REVIT model.

Bernd

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #9 on: April 26, 2016, 02:09:06 PM »
i attach again the elbow as dwg John created and i imported in MEP and saved as drawing.

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #10 on: April 26, 2016, 02:35:30 PM »
thought so too, i worked a lot with xdata, but its not "there". so i guess they acdaMEP works with xrecords or dictionaries?
The object (dwg from post #4) has an extension dictionary:
Code - Auto/Visual Lisp: [Select]
  1.   (vlax-vla-object->ename
  2.   )
  3.   "AEC_PROPERTY_SETS"
  4. )
=>
Code: [Select]
(
  (-1 . <Entity name: cba2e28>)
  (0 . "DICTIONARY")
  (5 . "1F637")
  (102 . "{ACAD_REACTORS")
  (330 . <Entity name: cba2de8>)
  (102 . "}")
  (330 . <Entity name: cba2de8>)
  (100 . "AcDbDictionary")
  (280 . 1)
  (281 . 1)
  (3 . "*A1")
  (360 . <Entity name: cba2e68>)
  (3 . "*A10")
  (360 . <Entity name: cba33e8>)
  (3 . "*A2")
  (360 . <Entity name: cba3468>)
  (3 . "*A3")
  (360 . <Entity name: cba2ee8>)
  (3 . "*A4")
  (360 . <Entity name: cba3028>)
  (3 . "*A5")
  (360 . <Entity name: cba30a8>)
  (3 . "*A6")
  (360 . <Entity name: cba3128>)
  (3 . "*A7")
  (360 . <Entity name: cba31a8>)
  (3 . "*A8")
  (360 . <Entity name: cba3228>)
  (3 . "*A9")
  (360 . <Entity name: cba32a8>)
)

The "*A1" etc. entries are (0 . "AecDbPropertySet") entities.

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #11 on: April 27, 2016, 05:41:16 AM »
Roy,
I seem to be unable to retrieve information from that *A1 to *A10. if i try with entget i just get deeper into the (360. entity ) crap and don't seem to know what i am looking for.

 How does that work????

Thanks
Bernd

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #12 on: April 27, 2016, 07:52:58 AM »
I don't know what you should be looking for either, but the gc 360 entities contain the data. And I do see some form of data formatting (curly brackets):
Code: [Select]
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "Standard")
  (102 . "AEC_VARIANT}")

Code - Auto/Visual Lisp: [Select]
  1.   (cdr
  2.     (assoc
  3.       -1
  4.       (dictsearch
  5.         (vlax-vla-object->ename
  6.           (vla-getextensiondictionary (vlax-ename->vla-object (car (entsel))))
  7.         )
  8.         "AEC_PROPERTY_SETS"
  9.       )
  10.     )
  11.   )
  12.   "*A1"
  13. )
=>
Code: [Select]
(
  (-1 . <Entity name: cc1f438>)
  (0 . "AecDbPropertySet")
  (5 . "1F638")
  (102 . "{ACAD_REACTORS")
  (330 . <Entity name: cc1f3f8>)
  (102 . "}")
  (330 . <Entity name: cc1f3f8>)
  (100 . "AecDbObject")
  (170 . 70)
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecImpPropertySet")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecImpDictRecord")
  (170 . 70)
  (3 . "")
  (100 . "AecImpPropertySet")
  (170 . 70)
  (340 . <Entity name: cc1f378>)
  (341 . <Entity name: c989fb8>)
  (102 . "{AEC_PROPERTIES")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecImpArray")
  (170 . 70)
  (90 . 5)
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecProperty")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecProperty")
  (170 . 70)
  (92 . 0)
  (70 . 2)
  (71 . 0)
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "Standard")
  (102 . "AEC_VARIANT}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecProperty")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecProperty")
  (170 . 70)
  (92 . 6)
  (70 . 2)
  (71 . 0)
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "Elbow - Generic:Standard:945841")
  (102 . "AEC_VARIANT}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecProperty")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecProperty")
  (170 . 70)
  (92 . 9)
  (70 . 2)
  (71 . 0)
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "")
  (102 . "AEC_VARIANT}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecProperty")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecProperty")
  (170 . 70)
  (92 . 11)
  (70 . 2)
  (71 . 0)
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "945841")
  (102 . "AEC_VARIANT}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "{AEC_SUBOBJECT")
  (300 . "AecProperty")
  (100 . "AecImpObj")
  (170 . 70)
  (3 . "")
  (100 . "AecProperty")
  (170 . 70)
  (92 . 24)
  (70 . 2)
  (71 . 0)
  (102 . "{AEC_VARIANT")
  (70 . 72)
  (309 . "25$nBY7K515ua5eCwjNgIb")
  (102 . "AEC_VARIANT}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "AEC_PROPERTIES}")
  (102 . "AEC_SUBOBJECT}")
  (102 . "{AEC_NULLOBJECT}")
  (100 . "AecDbDictRecord")
  (170 . 70)
  (100 . "AecDbPropertySet")
  (170 . 70)
)
« Last Edit: April 27, 2016, 08:01:21 AM by roy_043 »

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #13 on: April 27, 2016, 08:05:22 AM »
Alternative way to get the entity list in my previous post:
Code - Auto/Visual Lisp: [Select]
  1.   (cdar
  2.     (cdr
  3.       (member
  4.         '(3 . "*A1")
  5.         (dictsearch
  6.           (vlax-vla-object->ename
  7.             (vla-getextensiondictionary (vlax-ename->vla-object (car (entsel))))
  8.           )
  9.           "AEC_PROPERTY_SETS"
  10.         )
  11.       )
  12.     )
  13.   )
  14. )

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #14 on: April 27, 2016, 08:44:46 AM »
i don't get what you get out of this....

Code: [Select]
((-1 . <Entity name: 3a55dab500>) (0 . "AecDbPropertySet") (5 . "1F638") (102 . "{ACAD_REACTORS") (330 . <Entity name: 3a55dab4f0>) (102 . "}") (330 . <Entity name: 3a55dab4f0>))

is what i get in acad mep.

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #15 on: April 27, 2016, 09:00:53 AM »
this is what mep reads out of that object., see attachment

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #16 on: April 27, 2016, 10:58:21 AM »
i don't get what you get out of this....

Code: [Select]
((-1 . <Entity name: 3a55dab500>) (0 . "AecDbPropertySet") (5 . "1F638") (102 . "{ACAD_REACTORS") (330 . <Entity name: 3a55dab4f0>) (102 . "}") (330 . <Entity name: 3a55dab4f0>))

is what i get in acad mep.
Well, I use BricsCAD V16. Strange that AutoCAD has this problem. I think that the data you are looking for is present in the extension dictionary (look at gc 309 in the entity list for example). But connecting all the dots may prove to be too time-consuming anyway.

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #17 on: April 27, 2016, 11:06:17 AM »
I saw that you are not in acad and was afraid of this might be the difference. time consuming or not, i need to figure out a way to get the funcionality from my acad shop drawing vlisp into REVIT MEP. all Revit gurus are telling me that it isn't here yet, so i try to find a different way in the mean time. but since there are a lot of shop drawings to be made, i don't mind poking a bit

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #18 on: April 27, 2016, 11:25:48 AM »
... i don't mind poking a bit
The data is also present in the .ifc file (post #6)... So dissecting that file may be the way to go.
Quote
#334= IFCPROPERTYSINGLEVALUE('Nominal Radius',$,IFCLENGTHMEASURE(0.0416666666666667),$);

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #19 on: April 27, 2016, 11:35:04 AM »
Quote
#334= IFCPROPERTYSINGLEVALUE('Nominal Radius',$,IFCLENGTHMEASURE(0.0416666666666667),$)

where do you get that from out of the ifc information? in acad i can import ifc, so i went through acad mep to import. can you import in brisb?

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: xdata acad mep?
« Reply #20 on: April 27, 2016, 11:37:17 AM »
The quoted line is directly from the .ifc file (which is a plain text file).

Amsterdammed

  • Guest
Re: xdata acad mep?
« Reply #21 on: April 27, 2016, 11:40:40 AM »
i see, you just open that file. if i could find the acad entitiy the properties revere to, this might be it indeed.