如何获取界址线的界址线位置等扩展属性
本帖最后由 domit 于 2018-3-15 11:28 编辑在做地籍的时候,需要对界址线的属性如界址线位置,界址线类别等的赋值,请问用LSP如何获取界址线的这些扩展属性呢?请大神们不吝赐教。
就是如下图的这个属性。
(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 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 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 . "张强")))
看来做这个的人不多啊 今天有人吗,能给解答一下吗 感谢namezg,宗地的属性我可以获取,但是我想获取的是界址线的属性,就是我附图的几个属性。 namezg 发表于 2018-3-16 11:32
;获取扩展数据
(defun zg-GetxData (obj / xtypeOut xdataOut)
(if (= (type obj) 'ENAME)
希望您可以帮我看能否把每一段的界址线的属性提取出来,我又重新上传了一个附件,完善一下界址线的属性。 q3_2006 发表于 2018-3-20 06:27
(defun c:tt (/ en)
(if (setq en (car (entsel)))
(progn
大神,请受我一拜!!!:P 本帖最后由 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