嘿伙计们,
希望这对你们中的一些人来说很容易。。。
我有一个LISP例程,如下所示,在我的工作机器上,它的行为完美如图所示。但在我同事的一台机器上,“INSERT”命令调用将启动INSERT对话框。
我知道可以绕过对话,使用命令提示符版本的命令,在前面加上连字符,但我只是想知道是否有人可以解释我们两台机器之间的不同行为。是否存在控制这一点的系统变量?
- (Defun c:AH ()
- (SETVAR "ORTHOMODE" 0)
- (SETQ AHSCALE (GETVAR "DIMSCALE"))
- (SETQ AHDSTYLE (GETVAR "DIMSTYLE"))
- (command "-layer" "set" "PS_DIM" "")
- (command "-dimstyle" "restore" "PDC_PROSTEEL")
- (command "dimscale" AHSCALE)
- (SETQ AHPT1 (GETPOINT "\nPick Leader Insertion Points... "))
- (SETQ AHPT2 (GETPOINT AHPT1))
- (COMMAND "QLEADER" AHPT1 AHPT2 NIL)
- (SETQ FIRSTLEADER (SSGET "L"))
- (SETVAR "ORTHOMODE" 1)
- (SETQ AHPT3 (GETPOINT AHPT2 "\nSpecify Note Orientation... "))
- (SETQ AHQTY (GETINT "\nEnter Quantity of Holes : "))
- (SETQ AHdia (getstring "\nEnter Diameter of Holes (Include slot length if applicable) : " XX))
- (INITGET "H S h s")
- (setq ahht (cond ( (getkword "\nChoose hole type [Hole/Slot]: ") ) ( "H" )))
- (COND
- ((EQ ahht "H")
- (SETQ AHHQ (if (> AHQTY 1) " HOLES" " HOLE")))
- ((EQ ahht "S")
- (INITGET "C O N c o n")
- (setq ahST (cond ( (GETKWORD "\nSlot measurement < Center-Center / OverAll / Neither >: ")) ( "N" )))
- (COND
- ((EQ ahST "C")
- (SETQ AHHQ (if (> AHQTY 1) " C/C SLOTS" " C/C SLOT")))
- ((EQ ahST "O")
- (SETQ AHHQ (if (> AHQTY 1) " O/A SLOTS" " O/A SLOT")))
- ((EQ ahST "N")
- (SETQ AHHQ (if (> AHQTY 1) " SLOTS" " SLOT"))))
- ))
- (setq ahnote (strcat (ITOA AHQTY)"-%%C"AHdia AHHQ))
- (SETQ AHANG (RTD (ANGLE AHPT2 AHPT3)))
- [b] (IF (= 0 AHANG) (COMMAND "INSERT" "holenote_M" AHPT2 AHSCALE "" "" ahnote "" "" "" "" ""))
- (IF (= 180 AHANG) (COMMAND "INSERT" "holenoteO_M" AHPT2 AHSCALE "" "" ahnote "" "" "" "" ""))[/b]
- (SETQ AHPT1 (POLAR AHPT1 (ANGLE AHPT1 AHPT2) (/ (ATOI AHdia) 2)))
- (COMMAND "QLEADER" AHPT1 AHPT2 NIL)
- (COMMAND "ERASE" FIRSTLEADER "")
- (command "-dimstyle" "restore" "MW_STD" "dimscale" AHSCALE)
- (princ)
- )
非常感谢您的帮助。 |