请问用entmake展高程点时怎么才能带上cass的属性
(entmake(list '(0 . "INSERT")
'(5 . "40D")
'(100 . "AcDbEntity")
'(67 . 0)
'(410 . "Model")
'(6 . "Continuous")
'(100 . "AcDbBlockReference")
'(66 . 1)
'(2 . "GC200")
'(41 . 0.5)
'(42 . 0.5)
'(43 . 0.5)
'(50 . 0.0)
'(70 . 0)
'(71 . 0)
'(44 . 0.0)
'(45 . 0.0)
'(210 0.0 0.0 1.0)
'(1000 . "202101")
(cons 8 tcm3)
(cons 1 gc-zj)
(cons 10 (mapcar '+ pt '(0.25 -0.25)))
)
)
怎么没有人在啊 你可以先在图上点 自己绘制一个高程点,再去(ENTGET(CAR(ENTSEL))'"(*"))仔细看看,特别是-3组 llsheng_73 发表于 2013-10-27 19:35 static/image/common/back.gif
你可以先在图上点 自己绘制一个高程点,再去(ENTGET(CAR(ENTSEL))'"(*"))仔细看看,特别是-3组
看了,但是加上去提示无效的复杂对象。 第一,你的-3组没有完全按照它的格式
第二,你没有注册SOUTH应用 llsheng_73 发表于 2013-10-27 20:06 static/image/common/back.gif
第一,你的-3组没有完全按照它的格式
第二,你没有注册SOUTH应用
啊,不能直接调用吗?都是按照(entget(car(entsel))'("*"))擦看来的结构弄的 本帖最后由 llsheng_73 于 2013-10-27 20:52 编辑
高程点在块里边算是一个比较有代表性的,因为它还有一个注记高程值的属性,就是跟它一起成为一个块的那个文字,而BLOCKS里边定义的GC200它是不包括属性的,所以,要完全自己编程来展它那一样的高程点,就比弄别的要麻烦一些了,首先是CASS的代码,就是(1000 . "202101")这一类的,然后还得在块后边弄一个属性,而这个属性由于它是gc200块的,所以你不能点选到它,就是点在它上边,你得到的数据也是那个高程点GC200的而不是它本身,你得用(entget(ENTNEXT(car(entsel)))'"*")才能看到它具体是怎么回事,然后你就可以照着它的样子来弄了,记住在点和属性都弄好了以后,还得再来一句(entmake '((0 . "SEQEND")))这个高程点才算完成
由于我没有弄过展点的,只弄了不少改高程点,包括别的软件展的高程点,把它改成南方CASS的样子,加上属性等。但就是没去写过自己展点的程序,所以没有例子可以给你。
不过论坛里边这个帖子你可以好好参考一下
CASS中一键展点避免点号注记与高程注记压盖http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100928&fromuid=202795
llsheng_73 发表于 2013-10-27 20:44 static/image/common/back.gif
高程点在块里边算是一个比较有代表性的,因为它还有一个注记高程值的属性,就是跟它一起成为一个块的那个文 ...
谢谢,研究研究 将'(1000 . "202101")
改成(list -3 (list "SOUTH" (cons 1000 “202101”)))
页:
[1]