- UID
- 4198
- 积分
- 621
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-4-22
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
[讨论][1209]给线段编号简化编程方法
在版主xpy及楼主taner所讨论中提到使用
vertexs 函数可以将线段顶点编号产生
但若为若干的线段非多义线时该如何处理呢?
以及如何改写才可自动判断多义线顶点数量而自动产生编号呢?
由于此讨论话题与本主题不相近,
且希望再继续讨论而开此一话题.
xpy版主所提供的函数,虽然可以使用但好像还是无法处理线段喔!
不知道是小弟使用的方法错误了吗?
另外 xpy版主 开发的 xyp_lib.VLX 工具,
在繁体作业系统下无法使用,希望可以供繁体系统使用.
[PHP]
vertexs 函数
(defun vertexs (ename / plist pp n)
(setq obj (vlax-ename->vla-object ename))
(setq plist (vlax-safearray->list
(vlax-variant-value
(vla-get-coordinates obj)
) )
)
(setq n 0)
(repeat (/ (length plist) 2)
(setq pp (append
pp
(list (list (nth n plist) (nth (1+ n) plist) ) ) )
)
(setq n (+ n 2))
)
pp
)
[/PHP]
[PHP]
多义线顶点编号产生
(defun c:ts ( / polygon pt1 pt2 pt3 pt4 pt5 pt6 ptlist str1 str2 str3
str4 str5 str6)
(setq ptlist (vertexs (car (setq polygon (entsel "\n请点选物件:")))))
(setq pt1 (nth 0 ptlist)
pt2 (nth 1 ptlist)
pt3 (nth 2 ptlist)
pt4 (nth 3 ptlist)
pt5 (nth 4 ptlist)
pt6 (nth 5 ptlist)
)
(setq str1 (strcat "PT1:X=" (rtos (car pt1) 2 4) ", Y=" (rtos (cadr
pt1) 2 4)))
(setq str2 (strcat "PT2:X=" (rtos (car pt2) 2 4) ", Y=" (rtos (cadr
pt2) 2 4)))
(setq str3 (strcat "PT3:X=" (rtos (car pt3) 2 4) ", Y=" (rtos (cadr
pt3) 2 4)))
(setq str4 (strcat "PT4:X=" (rtos (car pt4) 2 4) ", Y=" (rtos (cadr
pt4) 2 4)))
(setq str5 (strcat "PT5:X=" (rtos (car pt5) 2 4) ", Y=" (rtos (cadr
pt5) 2 4)))
(setq str6 (strcat "PT6:X=" (rtos (car pt6) 2 4) ", Y=" (rtos (cadr
pt6) 2 4)))
(command "text" "j" "tl" pt1 "3" "0" str1)
(command "text" "j" "tl" pt2 "3" "0" str2)
(command "text" "j" "tl" pt3 "3" "0" str3)
(command "text" "j" "tl" pt4 "3" "0" str4)
(command "text" "j" "tl" pt5 "3" "0" str5)
(command "text" "j" "tl" pt6 "3" "0" str6)
(prin1))
(defun vertexs (ename / plist pp n)
(setq obj (vlax-ename->vla-object ename))
(setq plist (vlax-safearray->list
(vlax-variant-value
(vla-get-coordinates obj)
) )
)
(setq n 0)
(repeat (/ (length plist) 2)
(setq pp (append
pp
(list (list (nth n plist) (nth (1+ n) plist) ) ) )
)
(setq n (+ n 2))
)
pp
)
[/PHP]
希望各位版主及楼主可以在提供好的建议
谢谢 |
|