比较下面的两个代码,您在论坛之间对代码进行了更改。两者都不同。
您对选择对象的方式有问题。您还对代码中不一致的变量进行了更改(在命令调用中使用了之前未在程序中设置的变量)并且您对变量的命令调用的使用是不正确的。(也就是说,您正在使用一个变量,而您应该使用一个子命令。)另外,您试图使用logior对osmode做什么?
张贴于AUGI
- ;;Moves and object in a parallel plane of another until it is perpendicular
- ;;to it then rotates 1st object so that it lines up with it. Similar to
- ;;align command.
- ;;Written by Laison Albarado 11-09-2011
- (defun c:rm (/ pt1 pt2 pt3 pt4 pt0 ang1 dst1)
- (setq os (getvar "OSMODE"))
- (setvar "OSMODE" (logior os 1 2 4 32 128 8192))
- (setq pt1 (getpoint "\nSelect 1st object: "))
- (setq pt2 (getpoint pt1 "\nEnter second point: "))
- (setq pt1 (getdistance "\nEnter Distance are select item: "))
- (setvar "OSMODE" (logior os 1 2 4 32 128 8192))
- (Setq pt3 (getpoint pt1 "\nSelect Reference point/object: "))
- (command
- "move" pt1 pt2
- (setq ang1 (getangle pt1 pt3))
- (setq pt4 (polar pt2 ang1 dst1))
- (command
- "rotate" pt1 pt3
- (setvar "osmode" os)
- )
- )
- )
张贴在这里的一号帖子上。
- ;;Moves an object in a parallel plane until it is perpendicular of another
- ;;it then rotates 1st object so that it lines up with it. Similar to
- ;;align command.
- ;;Written by Laison Albarado 11-09-2011
- (defun c:rm (/ pt1 pt2 pt3 pt4 pt0 ang1 dst1)
- (setq os (getvar "OSMODE"))
- (setvar "OSMODE" (logior os 1 2 4 32 128 8192))
- (setq pt1 (car (entsel "\nSelect 1st object: ")))
- (setq dis1 (getdist "\nEnter Distance are select item: "))
- (setvar "OSMODE" (logior os 1 2 4 32 128 8192))
- (Setq pt3 (getpoint pt1 "\nSelect Reference point/object: "))
- (command
- "move" pt1 pt2
- (setq ang1 (getangle pt1 pt3))
- (setq pt4 (polar pt2 ang1 dst1))
- (command
- "rotate" pt1 pt3
- (setvar "osmode" os)
- )
- )
- )
|