arches9 发表于 2016-3-21 19:29:19

cass中的界址点点号如何用lisp修改

   用cass生成界址点有跳号现象,所以自己改成用点在选择集中的索引改写界址点点号的方法,现在界址点边上的文字是变了,但是界址点点号还是老样子,请问用lisp的话,怎样才可以读取和修改界址点点号呢?我点选界址点圆圈没有看见相应的扩展属性唉,好急的,求大家帮忙,谢谢

arches9 发表于 2016-3-21 23:57:17

。。。没有人愿意帮忙吗???555

tryhi 发表于 2016-3-22 23:05:25

界址点的点号就在圆圈里面

tryhi 发表于 2016-3-22 23:25:57

(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)
)

arches9 发表于 2016-3-23 02:10:25

tryhi 发表于 2016-3-22 23:25 static/image/common/back.gif


多谢你,还有,我想实现在宗地边线上增加界址点,所有界址点注记根据顶点顺序的变化而自动变化,就是注记显示顶点顺序数值,不知道是不是能直接通过程序实现。我想达到不用重选界址点、重新生成注记,就是新加的界址点和后面的界址点的标注改变。

tryhi 发表于 2016-3-23 14:31:43

arches9 发表于 2016-3-23 02:10 static/image/common/back.gif
多谢你,还有,我想实现在宗地边线上增加界址点,所有界址点注记根据顶点顺序的变化而自动变化,就是注记 ...

你的意思是跟CASS的权属线生成功能一样,生成界址点?还是什么,不太懂

tryhi 发表于 2016-3-23 15:20:44

;;创建一个带界址点号属性的圆圈
;;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)
                                                       )
                                               )
                                       )
)
)送你一个函数,可能你用得到

arches9 发表于 2016-3-23 18:32:52

tryhi 发表于 2016-3-23 14:31 static/image/common/back.gif
你的意思是跟CASS的权属线生成功能一样,生成界址点?还是什么,不太懂

谢谢你的热心帮助,我后来还是用cass去处理了,其实我就是想加界址点-重新全局标注这样的功能用lisp实现而已,因为领导说要简化流程。。。现在有另一个问题不知道你能不能帮忙解答,宗地的顶点顺序我想实现自己指定一个起始点,然后逆时针旋转,重构顶点顺序,我看论坛里好多线方向反向的,但是没有直接指定起点的那种。

tryhi 发表于 2016-3-23 23:07:43

本帖最后由 tryhi 于 2016-3-23 23:12 编辑

难度不小。光是指定起点然后反向就够你折腾很久了,最大的问题在于一旦反向,带弧度的多段线里面的凸度就要修改了,不光光是点的问题
页: [1]
查看完整版本: cass中的界址点点号如何用lisp修改