马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
XdGe 几何库版,可以查询多条首尾相接曲线组上任一点标高
 - (defun c:XDtb_CalcHeight (/ c:lhight_form1_OnInitialize
- olderr myerr
- c3d p1
- p
- )
- (defun myerr (msg)
- (if (dcl_form_isactive lhight_form1)
- (dcl_form_close lhight_form1)
- )
- (setq *error* olderr)
- (xdge::free)
- (princ)
- )
- (defun c:lhight_form1_OnInitialize (/ sp box)
- (setq box (xdrx_document_pixelbox))
- (dcl_control_setpos
- lhight_form1
- (car (last box))
- (cadr (last box))
- 168
- 128
- )
- (setq sp (xdge::getpropertyvalue c3d "hasStartPoint" "hasEndPoint"))
- (dcl_control_settext
- lhight_form1_shight
- (vl-princ-to-string (last (car sp)))
- )
- (dcl_control_settext
- lhight_form1_ehight
- (vl-princ-to-string (last (cadr sp)))
- )
- )
- (setq olderr *error*
- *error* myerr
- )
- (if
- (and (setq ss (ssget '((0 . "Line,*Polyline,spline"))))
- (setq lst (xdrx_pickset->ents ss))
- (setq
- lst (vl-remove-if '(lambda (x) (xdrx_curve_isclosed x)) lst)
- )
- )
- (progn
- (setq strl '("YWt6A4UYAABu3NlbBuKTJjU2Ki9mgLi5shNKU1V2Eh8aWtsYR+Q4Oi71tCnxO2W/YuMP0o8/NPR1"
- "E2cmpfz0FqfcWYq+SD8TEqnMO9VedrSkO4oOhLE3Q5kA3aAaWEuOILDDmUWBB6OBgcGRIBAAHEz/"
- "15zxXfgwCrbLYUB+0X2+VCtvHQ9FPKbzVMq3Q/p06t8ksCN2NTOfztDLHHEUC9N8b8p11O/ICBcX"
- "6yCTHK31W6ryX8/ItCfTOauWr6tMVNoZcrfmVNertvTrrCRYifam3axkayXbihDtTfJ+DKraFN1H"
- "LC52uflyMmMctPDceZmuW8ULAL9BG47XP7BzaaCq+MPOo658Tch7M5a4PyfJJZFbUIvGJoXakOLZ"
- "B/l2WXbBW0KevPughUZc2y1S48zhxiL5qlDQrNLpdoUDEIL9kv36uS9Ok7lX+URZ7nuVDjjKnYuP"
- "P5yUwj7ItSAekk/7TQOQjzHzI525+uFuADqG2afxTEYlIt9xQmFwSPCLeBwR0MORBkmUwgwnn+rm"
- "pxA1r/faBNIpU5viNieDnI4/V81HWH2w4jC3XNlKZ8U0J7mRJFjd0BXSqbfYJpssEmAuXmDsXZAt"
- "gQX6kWzAPUY2jQ8exSMFsBO+N2o39xcYutsANtBjDrCyst3hp5dfokuddaEpm9XNGvFtABgCSd+E"
- "JXfIOKcJrkBJZsV07g2yniV08awNYUmIdbRAF6ipAIYyhefmj73hj2FXu8Dmma2DQfcep8bmuBFL"
- "lUlWBd2/+3Spb3+Ud0luQDTmV87znBIv3HZoWyjV6Bo0OthXv4e3h7WHtoe5h7eHtge+B7wHuge4"
- "B7YPmUYEu6NV8GKJijc4Q+xbHZ7MNvjpWtr1rJfYXi3wVxovXGkQNEodd1fv2STsV6/JPPe72DpX"
- "7FdPQIIBLlx2SVsQvDP3H7Ixd4OSaFuIH/dW3+xZIcuSGTSGhdIRp1pkBtsDoEEwhU6zAe+OV7xv"
- "vDLllfrlaecoL5HRBuUYRfdcaw0BnwFZZNSXEmRgKAZgtBdiWrLqJRUOWCzeHnPTHS8M3bwpVtuZ"
- "3xZ7ompjKsbqVi04BkXTgezOOw+DKKIy6lVJiBFdjTX+YBE3vhfaP3wUF8F17vogJuzeIKfNNjwa"
- "O2xyIMDs3ukxP2w0zlx3TQZvWz+Fo+z6fSY47M4wy1o1PEHw3zk634VRAM/aj9PbI7N0mouftnSa"
- "iwUbf1fQjwyHw+xUGyZHJycnNy3bZlVRVc1peyfX5+zSoiBqI7yhOYQVsuz+XLKMWCYcNy65EcKI"
- "nzg="
- )
- c3d (XDGL::Curve:ToCompositeCrv3d lst)
- )
- (dcl_project_import strl)
- (dcl_form_show lhight_form1)
- (while (setq p (getpoint "\nTest Point: "))
- (setq p1 (xdge::getpropertyvalue c3d "closestPointTo" p))
- (dcl_control_settext
- lhight_form1_tPoint
- (vl-princ-to-string (last p1))
- )
- (princ "\nHeight = ")
- (princ (last p1))
- )
- (if (dcl_form_isactive lhight_form1)
- (dcl_form_close lhight_form1)
- )
- )
- )
- (setq *error* olderr)
- (xdge::free)
- (princ)
- )
非 XdGe 库版单条曲线查询
 - ;;线上查询
- (defun c:tt (/ e p)
- (if (setq e (car (xdrx_entsel
- "\nPick Curve: "
- '((0 . "*line,arc,circle,ellipse"))
- )
- )
- )
- (progn
- (xdrx_pickset_highlight e)
- (while (setq p (getpoint "\n测试点: "))
- (setq p (xdrx_curve_getclosestpoint e p))
- (princ "\n当前点高程 = ")
- (princ (last p))
- )
- (xdrx_pickset_highlight e t)
- )
- )
- (princ)
- )
指哪查哪,粗略查询

- ;;点哪查哪,不精确
- (defun c:tt1 (/ e)
- (while (setq e (xdrx_entsel
- "\nPick Curve: "
- '((0 . "*line,arc,circle,ellipse"))
- )
- )
- (princ "\nHeight = ")
- (princ (last (apply 'xdrx_curve_getclosestpoint e)))
- )
- (princ)
- )
|