马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
功能:任意方向矩形阵列

- (defun c:da (/ z obj1 obj2 a b c d pt1 pt2)
- (command "undo" "be")
- (setq z (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (prompt "\n请选择需要阵列的实体:")
- (setq obj2 (ssget))
- (initget 6)
- (setq a (getint "\n输入行数 (---) <1> "))
- (if (= a nil)
- (setq a 1)
- )
- (initget 6)
- (setq b (getint "\n输入列数 (|||) <1> "))
- (if (= b nil)
- (setq b 1)
- )
- (initget 3)
- (if (/= a 1)
- (setq c (getdist "\n输入行间距(---):"))
- )
- (initget 3)
- (if (/= b 1)
- (setq d (getdist "\n输入列间距(|||):"))
- )
- (setq
- obj1 (car
- (entsel "\n请选择实体以便转换座标系or以两点选定阵列方向:")
- )
- )
- (if (= obj1 nil)
- (progn
- (setq pt1 (getpoint "\n请选取线段起点:"))
- (setq pt2 (getpoint pt1 "\n请选取线段终点:"))
- (command "line" pt1 pt2 "")
- (setq obj1 (entlast))
- )
- )
- (command "ucs" "ob" obj1)
- (if (= a 1)
- (command "array" obj2 "" "r" a b d)
- (if (= b 1)
- (command "array" obj2 "" "r" a b c )
- (command "array" obj2 "" "r" a b c d)
- ))
-
- (command "erase" obj1 "")
- (command "ucs" "world")
- (setvar "cmdecho" z)
- (command "undo" "e")
- (princ)
- )
|