智能网络

┨智能网络的宗旨:活地更简单 活地更精彩┠

« 选中实体即可建块Douglas Wilson 列表转换代码 »

沿x,y,z轴单向多重复制

此功能满足将实体单向复制多个,而不必因捕捉点的操作误差而担心,具体编写原因忘了,不过还算是比较实用的。
;|
  Make by liwen
  Site->www.znwl.com
  Email:liwen@znwl.com QQ:5520574
  Usage: 按X轴复制 按Y轴复制
|;
(defun C:CX ( / os ss pt1 pt2 i)
  (princ "按X轴复制")
  (setvar "cmdecho" 0)
  (setq os (getvar "osmode"))
  (setq ss (ssget))
  (setq pt1 (getpoint "\n指定基点:"))
  ;第一次复制
  (setvar "osmode" 16383)
  (setq pt2 (getpoint pt1 "\n指定第2个点:"))
  (setvar "osmode" 0)
  (command "COPY" ss "" pt1 ".x" pt2 0)
  ;开始循环复制
  (setq i 3)
  (while (/= nil pt2)
    (setvar "osmode" 16383)
    (setq pt2 (getpoint pt1 (strcat "\n指定第" (itoa i) "个点:")))
    (setvar "osmode" 0)
    (command "COPY" ss "" pt1 ".x" pt2 0)
  )
  (setvar "osmode" os)
  (princ)
)
(defun C:CY ( / os ss pt1 pt2 i)
  (princ "按Y轴复制")
  (setvar "cmdecho" 0)
  (setq os (getvar "osmode"))
  (setq ss (ssget))
  (setq pt1 (getpoint "\n指定基点:"))
  ;第一次复制
  (setvar "osmode" 16383)
  (setq pt2 (getpoint pt1 "\n指定第2个点:"))
  (setvar "osmode" 0)
  (command "COPY" ss "" pt1 ".y" pt2 0)
  ;开始循环复制
  (setq i 3)
  (while (/= nil pt2)
    (setvar "osmode" 16383)
    (setq pt2 (getpoint pt1 (strcat "\n指定第" (itoa i) "个点:")))
    (setvar "osmode" 0)
    (command "COPY" ss "" pt1 ".y" pt2 0)
  )
  (setvar "osmode" os)
  (princ)
)
(defun C:CZ ( / os ss pt1 pt2 i)
  (princ "按Z轴复制")
  (setvar "cmdecho" 0)
  (setq os (getvar "osmode"))
  (setq ss (ssget))
  (setq pt1 (getpoint "\n指定基点:"))
  ;第一次复制
  (setvar "osmode" 16383)
  (setq pt2 (getpoint pt1 "\n指定第2个点:"))
  (setvar "osmode" 0)
  (command "COPY" ss "" pt1 ".z" pt2 0)
  ;开始循环复制
  (setq i 3)
  (while (/= nil pt2)
    (setvar "osmode" 16383)
    (setq pt2 (getpoint pt1 (strcat "\n指定第" (itoa i) "个点:")))
    (setvar "osmode" 0)
    (command "COPY" ss "" pt1 ".z" pt2 0)
  )
  (setvar "osmode" os)
  (princ)
)
(princ)

程序下载:

cxcycz.rar

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Copyright www.znwl.com & E-mail:liwen@znwl.com QQ:5520574

Powered By Z-Blog 1.8 Walle Build 91204