@CodeDing wrote:
....
(setq ssdim (ssget "x" '((0 . "DIMENSION") (8 . "DIM") (100 . "AcDbOrdinateDimension"))))
....
I don't have AutoCAD up to verify, but I think that won't work, because there will be a different 100-code entry in the entity data list [I think (100 . "AcDbEntity") or similar], which the filter will "see," before it gets to that one, which is near the end of the entity data list. If I'm correct, it may be necessary to filter for all Dimensions and then step through the selection, keeping only those for which [if 'edata' is the entity data list for the Dimension under consideration]:
(= (cdr (assoc 100 (reverse edata))) "AcDbOrdinateDimension")
returns T. That reversing puts this entry before the other 100-code entry, to be the one found by the (assoc) function.
That's the kind of thing I've done to differentiate "heavy" 2D Polylines from 3D Polylines, both of which are of the (0 . "POLYLINE") class.
Kent Cooper, AIA