Guest balajibth 发表于 2022-7-6 09:39:45

偏移Lisp

我正在使用代码进行简单的偏移。。。。现在想抵消“10”意味着我有代码。但我想要的每个数字都意味着我正在粘贴代码并编辑它。。。请参见下文。。
 

(defun c:10()
(command "offset" "10" ))
 

(defun c:75()
(command "offset" "75" ))
 

(defun c:250()
(command "offset" "250" ))
 
所以我只想给这个偏移码加1到15000个数字。那么如何在这里插入这个范围呢?plz帮助。。。

Guest balajibth 发表于 2022-7-6 09:43:18

我在等你的回复。有人看到这个吗???

Cad64 发表于 2022-7-6 09:48:47

请不要在其他人的帖子中发布问题。如果你有问题,开始你自己的帖子,并请张贴在论坛的正确区域。我已将此问题转移到AutoLISP论坛。

VVA 发表于 2022-7-6 09:52:15

所以

(defun C:AddOff ( / str dist)
(initget 7)
(setq dist (getint "\nType offset dist: "))
(setvar "OFFSETDIST" dist)
(setq dist (itoa dist) str (strcat "(defun C:" dist "()(command \"_.OFFSET\" \"\"))"))
(eval(read str))
(alert (strcat "\nCommand " dist " added. Type " dist " in command line"))
(princ)
)

eldon 发表于 2022-7-6 09:54:26

这似乎是一个非常无用的Lisp程序。您正在禁用直接输入数字的功能,因为每次输入数字时,都会进入偏移量。
 
输入“o”然后输入距离真的太麻烦了吗

jammie 发表于 2022-7-6 09:56:47

这是我的尝试。我更喜欢从命令行调用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*))
)

autolisp 发表于 2022-7-6 10:01:29

尊敬的先生:
 
不错的代码
谢谢

ReMark 发表于 2022-7-6 10:04:57

我有时想知道对代码的要求。我理解我们想让我们的工作变得更容易、更快,但实际上,你们中的一些人获得的时间浪费在了站在饮水机旁谈论昨晚的大赛上。英雄联盟

BlackBox 发表于 2022-7-6 10:05:21

考虑到OP需要完整例程的频率,我很惊讶成员们仍然提供OP代码。
 
诚然,(在这种情况下)OP最终“请求帮助”。这是关于!@#%时间

Cad64 发表于 2022-7-6 10:08:35

 
嗯,只要他继续免费捕鱼,他就永远不会学会自己捕鱼。
页: [1] 2
查看完整版本: 偏移Lisp