domit 发表于 2018-3-15 11:00:31

如何获取界址线的界址线位置等扩展属性

本帖最后由 domit 于 2018-3-15 11:28 编辑

在做地籍的时候,需要对界址线的属性如界址线位置,界址线类别等的赋值,请问用LSP如何获取界址线的这些扩展属性呢?请大神们不吝赐教。
就是如下图的这个属性。

q3_2006 发表于 2018-3-20 06:27:55

(defun c:tt (/ en)
(if (setq en (car (entsel)))
    (progn
      (while (and
             (setq en (entnext en))
             (/= (cdr (assoc 0 (entget en))) "SEQEND")
             )
        (princ (assoc -3 (entget en '("*"))))
      )
    )
)
)

namezg 发表于 2018-3-16 11:32:57

本帖最后由 namezg 于 2018-3-16 12:51 编辑

;获取扩展数据
(defun zg-GetxData (obj / xtypeOut xdataOut)
      (if (= (type obj) 'ENAME)
                (setq obj (vlax-ename->vla-object obj))
      )
      (if (= (type obj) 'VLA-OBJECT)
                (progn
                        (vla-GetXData obj "" 'xtypeOut 'xdataOut)
                        (if xdataOut
                              (mapcar 'vlax-variant-value (vlax-safearray->list xdataOut))
                        )
                )
      )
)

(zg-GetxData (vlax-ename->vla-object (car (entsel))))

选择对象:
("SOUTH" "300000" "006021JC00126" "张强" "072" "QHDM" "130223" "SJZGBM" ""
"FRDBXM" "张强" "FRDBZMS" "130223195601287818" "FRDBDH" "13933336078" "DLRXM" ""
"DLRSFZ" "" "DLRDH" "" "TXDZ" "滦县榛子镇南平庄村安5排60号" "TDZL" "滦县榛子镇南平庄村" "DONGZHI"
"富民路" "NANZHI" "平安街" "XIZHI" "" "BEIZHI" "昌达街" "QSLYZM" "土地证" "PZTDYT" "住宅"
"TDSYZ" "" "SBJZWQS" "" "YBDJH" "006021JC00126" "TDZH" "滦集建(99)第165074号" "SHRQ"
"" "DJRQ" "" "ZZRQ" "" "DWXZ" "09 个人" "QSXZ" "40 集体土地使用权" "SYQLX" "22 拨用宅基地"
"TDDJ" "" "MPH" "" "TUFU" "4407.25-484.50" "JZMJ" 129.263 "BDDJ" 0.0 "SBDJ" 0.0)

namezg 发表于 2018-3-16 11:32:07

本帖最后由 namezg 于 2018-3-16 12:50 编辑

(setq entdata (assoc -3 (entget (car (entsel)) '("*"))))

选择对象:
(-3
      ("SOUTH" (1000 . "300000") (1000 . "006021JC00126") (1000 . "张强") (1000 . "072"))
      ("QHDM" (1000 . "130223"))
      ("SJZGBM" (1000 . ""))
      ("FRDBXM" (1000 . "张强"))
      ("FRDBZMS" (1000 . "130223195601287818"))
      ("FRDBDH" (1000 . "13933336078"))
      ("DLRXM" (1000 . ""))
      ("DLRSFZ" (1000 . ""))
      ("DLRDH" (1000 . ""))
      ("TXDZ" (1000 . "滦县榛子镇南平庄村安5排60号"))
      ("TDZL" (1000 . "滦县榛子镇南平庄村"))
      ("DONGZHI" (1000 . "富民路"))
      ("NANZHI" (1000 . "平安街"))
      ("XIZHI" (1000 . ""))
      ("BEIZHI" (1000 . "昌达街"))
      ("QSLYZM" (1000 . "土地证"))
      ("PZTDYT" (1000 . "住宅"))
      ("TDSYZ" (1000 . ""))
      ("SBJZWQS" (1000 . ""))
      ("YBDJH" (1000 . "006021JC00126"))
      ("TDZH" (1000 . "滦集建(99)第165074号"))
      ("SHRQ" (1000 . ""))
      ("DJRQ" (1000 . ""))
      ("ZZRQ" (1000 . ""))
      ("DWXZ" (1000 . "09 个人"))
      ("QSXZ" (1000 . "40 集体土地使用权"))
      ("SYQLX" (1000 . "22 拨用宅基地"))
      ("TDDJ" (1000 . ""))
      ("MPH" (1000 . ""))
      ("TUFU" (1000 . "4407.25-484.50"))
      ("JZMJ" (1040 . 129.263))
      ("BDDJ" (1040 . 0.0))
      ("SBDJ" (1040 . 0.0))
)

(assoc -3 (entget (car (entsel)) '("SOUTH")))
(-3 ("SOUTH" (1000 . "300000") (1000 . "006021JC00126") (1000 . "张强") (1000 . "072")))

(assoc -3 (entget (car (entsel)) '("FRDBXM")))
(-3 ("FRDBXM" (1000 . "张强")))



domit 发表于 2018-3-15 11:27:18

看来做这个的人不多啊

domit 发表于 2018-3-16 10:49:40

今天有人吗,能给解答一下吗

domit 发表于 2018-3-19 18:08:08

感谢namezg,宗地的属性我可以获取,但是我想获取的是界址线的属性,就是我附图的几个属性。

domit 发表于 2018-3-19 18:09:14

namezg 发表于 2018-3-16 11:32
;获取扩展数据
(defun zg-GetxData (obj / xtypeOut xdataOut)
      (if (= (type obj) 'ENAME)


希望您可以帮我看能否把每一段的界址线的属性提取出来,我又重新上传了一个附件,完善一下界址线的属性。

domit 发表于 2018-3-20 08:44:11

q3_2006 发表于 2018-3-20 06:27
(defun c:tt (/ en)
(if (setq en (car (entsel)))
    (progn


大神,请受我一拜!!!:P

yshf 发表于 2018-3-20 09:07:12

本帖最后由 yshf 于 2018-3-20 09:12 编辑

命令: appload 已成功加载 jjj.fas。


命令:
命令:
命令: jjj
选择对象: (注:选取界址线)

本宗地编号: 130223006021JC00131起点号: J4634 → 止点号: J4635 图上边长: 14.029
本宗地编号: 130223006021JC00131起点号: J4635 → 止点号: J4636 图上边长: 8.039
本宗地编号: 130223006021JC00131起点号: J4636 → 止点号: J4637 图上边长: 2.704
本宗地编号: 130223006021JC00131起点号: J4637 → 止点号: J4638 图上边长: 6.261
本宗地编号: 130223006021JC00131起点号: J4638 → 止点号: J4639 图上边长: 1.259
本宗地编号: 130223006021JC00131起点号: J4639 → 止点号: J4640 图上边长: 2.841
本宗地编号: 130223006021JC00131起点号: J4640 → 止点号: J4641 图上边长: 14.065
本宗地编号: 130223006021JC00131起点号: J4641 → 止点号: J4642 图上边长: 4.100
本宗地编号: 130223006021JC00131起点号: J4642 → 止点号: J4643 图上边长: 8.883
本宗地编号: 130223006021JC00131起点号: J4643 → 止点号: J4634 图上边长: 8.039
选择对象:
页: [1] 2
查看完整版本: 如何获取界址线的界址线位置等扩展属性