cass中的界址点点号如何用lisp修改
用cass生成界址点有跳号现象,所以自己改成用点在选择集中的索引改写界址点点号的方法,现在界址点边上的文字是变了,但是界址点点号还是老样子,请问用lisp的话,怎样才可以读取和修改界址点点号呢?我点选界址点圆圈没有看见相应的扩展属性唉,好急的,求大家帮忙,谢谢。。。没有人愿意帮忙吗???555 界址点的点号就在圆圈里面 (defun c:tt(/ circle-name data jj jn jn-co new-jn new-jn-co x x-3)
(setq circle-name(car (entsel"\n选择界址点圆圈")))
(setq JN(cdr (setq jn-co(cadddr(setq x(cadr(setq x-3(assoc -3 (setq data(entget circle-name '("*")))))))))));n
(setq JJ(cdr (caddr(cadr(assoc -3 data)))));"J"
(prompt (strcat"\n选择的界址点点号是" JJ (itoa JN)))
(setq new-JN(getint "\n输入新的界址点号"))
(setq new-JN-co(cons (car jn-co)new-JN))
(setq data(subst (list -3(subst new-JN-co jn-co x ))x-3 data))
(entmod data)
) tryhi 发表于 2016-3-22 23:25 static/image/common/back.gif
多谢你,还有,我想实现在宗地边线上增加界址点,所有界址点注记根据顶点顺序的变化而自动变化,就是注记显示顶点顺序数值,不知道是不是能直接通过程序实现。我想达到不用重选界址点、重新生成注记,就是新加的界址点和后面的界址点的标注改变。 arches9 发表于 2016-3-23 02:10 static/image/common/back.gif
多谢你,还有,我想实现在宗地边线上增加界址点,所有界址点注记根据顶点顺序的变化而自动变化,就是注记 ...
你的意思是跟CASS的权属线生成功能一样,生成界址点?还是什么,不太懂 ;;创建一个带界址点号属性的圆圈
;;pt圆点坐标
;;rr半径
;;JZP界址点前缀J
;;number界址点号
(defun CASS-CIRCLE(pt rr JZP number)
;(setq pt '(0 0) rr 5 JZP "J" number 12)
(regapp "south")
(entmake (list '(0 . "CIRCLE")
'(100 . "AcDbEntity")
'(8 . "JZP") ;层
'(100 . "AcDbCircle")
(cons 10 pt) ;圆心
(cons 40 rr) ;半径
(list -3
(list "south"
(cons 1000 "301000")
(cons 1000 JZP)
(cons 1071 number)
)
)
)
)
)送你一个函数,可能你用得到 tryhi 发表于 2016-3-23 14:31 static/image/common/back.gif
你的意思是跟CASS的权属线生成功能一样,生成界址点?还是什么,不太懂
谢谢你的热心帮助,我后来还是用cass去处理了,其实我就是想加界址点-重新全局标注这样的功能用lisp实现而已,因为领导说要简化流程。。。现在有另一个问题不知道你能不能帮忙解答,宗地的顶点顺序我想实现自己指定一个起始点,然后逆时针旋转,重构顶点顺序,我看论坛里好多线方向反向的,但是没有直接指定起点的那种。 本帖最后由 tryhi 于 2016-3-23 23:12 编辑
难度不小。光是指定起点然后反向就够你折腾很久了,最大的问题在于一旦反向,带弧度的多段线里面的凸度就要修改了,不光光是点的问题
页:
[1]