iJero 发表于 2015-12-24 11:04:14

图素类型怎么获得?

(defun C:TT ( / LAYMB I INAME)
   (vlax-forI(vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))   
       (if (and (= (strCase (vla-get-name I) ) "X$$-MB")
                (= "LINE"(entget I) );;;;;;;;;;;;;;;;;;;;;;;;;Step 1
         )   
         (setq LAYMB I)
         (princ "xxx" )   
       )   
    )
   (princ (strcat "=" (vla-get-name LAYMB) ) )
(princ)
)

Step 1,我目的是想得到 I的图素类型,是不是“LINE”,但这好像不对?
请问这几句代码该怎么写?

菡萏 发表于 2015-12-24 11:32:23

请解释一下什么是“图素类型”?

wzg356 发表于 2015-12-24 12:06:35

本帖最后由 wzg356 于 2015-12-24 12:14 编辑

查看对象名称(其它特性Layer ,Linetype,Area,Color等类似)
(vlax-get-property (vlax-ename->vla-object (car(entsel))) "ObjectName")
查看特性
    (vlax-dump-object(vlax-ename->vla-object (car(entsel))))
查看特性和方法
    (vlax-dump-object(vlax-ename->vla-object (car(entsel))) t)


组码方法
查看图元名称(其它特性8图层、62颜色等类似)
(cdr(assoc 0(entget (car(entsel)))))

iJero 发表于 2015-12-24 15:28:15

菡萏 发表于 2015-12-24 11:32 static/image/common/back.gif
请解释一下什么是“图素类型”?

我是指,这个图元是什么东西,是直线、圆、还是矩形等等。
(那这个该怎么叫?)

Gu_xl 发表于 2015-12-24 16:41:18

iJero 发表于 2015-12-24 15:28 static/image/common/back.gif
我是指,这个图元是什么东西,是直线、圆、还是矩形等等。
(那这个该怎么叫?)那叫图元类型:
(cdr (assoc 0 (entget (car(entsel)))))
页: [1]
查看完整版本: 图素类型怎么获得?