这是我的尝试。我更喜欢从命令行调用offset,但我该问谁。。。。
要启动,请键入beginOffset
如果输入一个介于1和10000之间的数字,则偏移量应自动开始
- (defun c:beginOffset ()
- (or *unknownReactor* (setq *unknownReactor* (vlr-command-reactor nil '((:vlr-unknownCommand . createOffset)))))
- (defun createOffset (<rea> <args> / acadDoc cmd offsetDist )
- (setq acadDoc (vla-get-activedocument (vlax-get-acad-object ))
- cmd (car <args>))
- (if
- (and
- (not (equal (setq offsetDist (atoi cmd)) 0.0 1e-6))
- (< 1 offsetDist 10000)
- )
- (progn
- (setq newCommand (strcat "(defun c:" cmd "()(command "._OFFSET" "cmd "))"))
- (vla-sendcommand acadDoc (strcat newCommand " "cmd " "))))
- )
- )
删除类型内偏移的步骤
- (defun c:endOffset()
- (if *unknownReactor* (vlr-remove *unknownReactor*))
- )
|