(defun c:xdtb_topochkptedge
(/ dis e i inx lst
np nums pt result ss var
verts x #i #ents #incheck
#check-pt
)
to from
from temp
)
)
)
)
)
(xd::doc:drawcrosshair #check-pt (/ pi 4) 0.04)
)
)
)
(xdrx_begin)
(if (not xd_var_global_tol
) (setq xd_var_global_tol
0.01) )
(xdrx_prompt
(xdrx-string-formatex
(xdrx-string-multilanguage
"\n距离容差精度<%.2f>:"
"\nDistance tolerance<%.2f>:"
)
xd_var_global_tol
)
t
)
)
)
(setq xd_var_global_tol var
) )
(xdrx-string-multilanguage
"\n选择要检查的多段线<退出>:"
"\nSelect polylines to inspect <Exit>:"
)
'((0 . "*polyline"))
)
)
(setq nums
(xdrx_getpropertyvalue x
"numverts") verts
(xd::
list:intarrays
0 nums
) )
(setq np
(xdrx_getpropertyvalue x
"-index+" i
) lst
(xd::
list:removee2 np verts t
) tf t
)
(if (not (setq e
(xdrx_polyline_getlinesegat x inx t
))) (setq e
(xdrx_polyline_getarcsegat x inx t
)) )
dis (xdge::getpropertyvalue
e
"distanceto"
(setq pt
(xdrx_polyline_getpointat x i
)) )
)
(if (< dis xd_var_global_tol
) tf nil
)
)
)
(xdrx_object_release e)
)
)
)
)
)
(xdrx_pickset->ents ss)
)
(xdrx_prompt
(xdrx-string-formatex
(xdrx-string-multilanguage
"\n>>点边距离拓扑检查完毕.\n 共发现 %d 个多边形顶点距离其他边距离小于容差值 %.2f."
"\n>>Point-edge distance topology check completed.\n A total of %d polygon vertices were found to be less than the tolerance value %.2f from other edges."
)
xd_var_global_tol
)
)
(xdrx_pointmonitor "_callback")
#i 0
)
(xdrx_initget "F S")
(xdrx-string-multilanguage
"\n缩放屏幕查看[查看下一个(S)/生成圆(F)]:"
"\nZoom the screen to view [View next(S)/Generate circle(F)]:"
)
)
)
)
(setq dis
(/ xd_var_global_tol
5.0)) (xdrx-string-formatex
(xdrx-string-multilanguage
"\n圆半径<%.2f>:"
"\nCircle radius<%.2f>:"
)
dis
)
t
)
)
)
)
(xdrx_entity_setproperty
(xdrx_circle_make
(cons dis result
)) "color"
2
"layer"
(xdrx-string-multilanguage
"拓扑核查"
"Topology Verification"
)
)
)
((= pt "S")
#check
-pt
(nth #i result
) )
(xdrx_document_zoomentities e 0.8)
)
(xdrx_prompt
(xdrx-string-multilanguage
"\n>>已经查看完所有多边形."
"\n>>All polygons have been viewed."
)
)
(xdrx_document_zoomentities #ents 0.8)
)
)
)
)
)
)
(xdrx_pointmonitor)
)
(xdrx_prompt
(xdrx-string-formatex
(xdrx-string-multilanguage
"\n点边距离拓扑检查完毕,没发现距离其他边距离小于容差值 %.2f 的顶点."
"\nThe point-edge distance topology check is completed, and no vertices whose distances from other edges are less than the tolerance value %.2f were found."
)
xd_var_global_tol
)
)
)
)
)
(xdrx_end)
)