700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > lisp自动生成界址点表_LISP语言在宗地界址点成果表的应用

lisp自动生成界址点表_LISP语言在宗地界址点成果表的应用

时间:2021-11-02 06:43:15

相关推荐

lisp自动生成界址点表_LISP语言在宗地界址点成果表的应用

1概述全国正在大范围开展农村土地确权发证项目,要求对每个村民小组进行宗地图、宗地界址点成果表的制作,从而进行土地申报,发放土地证。本文介绍如何在南方CASS中生成社宗地界址点成果表TXT数据文件。2问题的提出在农村土地确权发证的项目中,要求每一个社制作社宗地界址成果表,由于每个社宗地界址线端点太多,只需在主要拐弯处设置界址点,其余界址线端点不设置界址点,界址点号按顺时针方向进行编号,界址边长取界址线折线边长。在南方CASS地籍图上自动生成界址点成果表TXT文件就会碰到以下四个问题:(1)界址线不一定是以顺时针方向进行绘制的。(2)界址点起始点位置的确定。(3)哪些端点上有界址点及界点圆圈。(4)如何求取两界址点间在界址线上的折线距离。针对以上问题,采用AUTOLISP语言编制程序进行处理,包括以下两个子程序和一个主程序。3判断界址线方向(子程序DDXFX)(defunDDXFX()(SETQPP0(LIST00))(ifJZX1(progn(setqplineObj(vlax-ename->vla-objectJZX1))(command"COPY"JZX1""PP0PP0)(setqoffsetplineObj(car(vlax-safearray->list(vlax-variant-value(vla-OFFSETplineObj0.0001)))))(if(>(vlax-curve-getdistatparamplineobj(vlax-curve-getEndParamplineobj));_结束vlax-curve-getdistatparam(vlax-curve-getdistatparamoffsetplineObj(vlax-curve-getEndParamoffsetplineObj));_结束vlax-curve-getdistatparam)(progn(SETQFX"SSZ")(princ"n闭合多段线是顺时针."));progn(progn(SETQFX"NSZ")(princ"n闭合多段线是逆时针."));progn)(vla-deleteoffsetplineObj)(vla-deleteplineObj));progn);end_if(setqJZX1(entlast))(princ))4量折线距离(子程序LCD)(defunLCD()(setqfF(vlax-ename->vla-objectJZX1))(setqdis1(vla-get-LengthfF))(setqpt1P0)(setqpt2P1)(setqdis(abs(-(vlax-curve-getDistAtPointJZX1pt1)(vlax-curve-getDistAtPointJZX1pt2))))上面vlax-curve-getDistAtPoint函数求取曲线从开始点到指定点的曲线段的长度,差值dis则为两点间的曲线段长度,但如果曲线开始点在所求两个点的中间时,则差值dis就不是两点间的曲线段长度,而是闭合曲线长度减去差值dis为两点间的曲线段长度。下面判断当折线距离大于界址线(闭合曲线)总长一半时取小值为两点间的曲线段长度。(SETQDIS2(-DIS1DIS))(IF(>DIS2DIS)(SETQDISDIS)(SETQDISDIS2)))5生成界址点成果表(主程序JZDCGB)(defunc:JZDCGB()(setqAcadObject(vlax-get-acad-object)AcadDocument(vla-get-Ac

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。