1
3
2
初来乍到
(defun c:MidPoly ( / ent ename entl en oname param len hLen MidPt OS )(vl-load-com)(setq ent (entsel "\nSelect polyline:")) (if ent (progn (setq ename (car ent) entl (entget ename) en (cdr (assoc 0 entl)) ) (if (member en (list "POLYLINE" "LWPOLYLINE")) (progn (setq oname (vlax-ename->vla-object ename) param (vlax-curve-getEndParam oname) len (vlax-curve-getDistAtParam oname param) hLen (* 0.5 len) MidPt (vlax-curve-getPointAtDist oname hLen) ) (vlax-release-object oname) (setq OS (getvar "OSMODE")) (setvar "OSMODE" 0) (command "._Point" MidPt) (princ "\nPoint object created at mid-point:")(princ MidPt) (setvar "OSMODE" OS) ) (princ "\nYou must pick a polyline object only.") ) ) )(prin1))(defun c:test1 ( / e i s x ) (if (setq s (ssget "_X" (list (cons 8 "MGA55_ROW_Stripping_Depth") (cons 0 "LWPOLYLINE")))) (progn (setq i (1- (sslength s))) (while (<= 0 i) (setq e (ssname s i) x (cdr (assoc 0 (entget e))) i (1- i) ) (command "(c:MIDPOLY)" e) (print x) ) ) ) (princ))(defun c:test2 ( / e i s x ) (if (setq s (ssget "_X" (list (cons 8 "MGA55_ROW_Stripping_Depth") (cons 0 "LWPOLYLINE")))) (progn (setq i 0) (repeat (sslength s) (setq e (ssname s i) x (cdr (assoc 0 (entget e))) i (1+ i) ) (command "(c:MIDPOLY)" e) (print x) ) ) ) (princ))(defun c:test3 ( / s ) (if (setq s (ssget "_X" (list (cons 8 "MGA55_ROW_Stripping_Depth") (cons 0 "LWPOLYLINE")))) (foreach e (ssnamex s) (if (= 'ename (type (cadr e))) (command "(c:MIDPOLY)" (cdr (assoc 0 (entget (cadr e))))) ) ) ) (princ))(defun c:test4 ( / e s ) (if (setq s (ssget "_X" (list (cons 8 "MGA55_ROW_Stripping_Depth") (cons 0 "LWPOLYLINE")))) (while (setq e (ssname s 0)) (print (cdr (assoc 0 (entget e)))) (setq x (cdr (assoc 0 (entget e)))) (command "(c:MIDPOLY)" e) (ssdel e s) ) ) (princ))
(defun c:MIDLINE ( / ent nPt p2 p1 ) (if (setq ent (car (entsel "\nSelect line:"))) (progn (setq p1 (cdr (assoc 10 (entget ent))) p2 (cdr (assoc 11 (entget ent))) ) (setq npt (Line-centroid p1 p2)) (setq OS (getvar "OSMODE")) (setvar "OSMODE" 0) (command "._Point" nPt) (princ "\nPoint object created at mid-point:")(princ nPt) (setvar "OSMODE" OS) ) ))(defun Line-centroid (p1 p2)(mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) p1 p2))
使用道具 举报
5
956
963
0
946
978
限制会员
1334
1410
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-3-14 21:04 , Processed in 3.437226 second(s), 62 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端