Tharwat 发表于 2022-7-5 20:47:10

 
按下按钮Edit Post后,选择代码,然后按下按钮#在cod标签内获取代码。

Cylis0509 发表于 2022-7-5 20:49:43

我就是这么做的。这似乎对我不起作用。我去编辑帖子,去高级,突出显示代码部分,点击“#”按钮,什么都没发生,保存编辑。

Cad64 发表于 2022-7-5 20:51:52

这是Internet Explorer的问题。显然,它在vBulletin论坛中发挥不好。
 
阅读本帖最后一篇帖子:http://www.cadtutor.net/forum/showthread.php?90496-图标在回复中不起作用,并切换到基本编辑器或标准编辑器。然后你应该能够修复你的第一个帖子。

Cylis0509 发表于 2022-7-5 20:55:52

谢谢Cad64,成功了。我将其设置为标准,现在可以工作了。我已经修复了我原来的帖子。

wishbonesr 发表于 2022-7-5 20:59:10

 
您必须将lisp视为一种脚本语言(因为它是),并且在代码中,在加载到环境中之前调用函数/命令。
 
将正在调用的函数移到调用函数上方。
例如我按以下顺序移动了您的函数,然后它就可以工作了:
c: 稍后运行
c: 回复
c: mos2nsc
--最后,您将放置未封装的代码setq reply1。。。等
 

(vl-load-com)
;--------------------------------------------------------------------------------------------------------------------------------------------------------------------
(defun c:runlater ( / )
(acet-ui-message "To run later, type 'MOS2NSC' anytime to begin to conversion process." "Some Header" 64)
)
;--------------------------------------------------------------------------------------------------------------------------------------------------------------------
(defun c:replyyes ( / of_epk of_pt)
(setvar "cmdecho" 0)
(if (null of_dist) (setq of_distx 1.0))
(initget 6)
(if (null (setq of_dist (getdist (strcat "\nPlease Enter the Offset Distance <>: "))))
   (setq of_dist of_distx)
   )
(setq of_distx of_dist)
(if (null of_elev) (setq of_elevx 0.0))
(if (null (setq of_elev (getreal (strcat "\nPlease Enter the Elevation Difference - For a Negative Use a '-' <>: "))))
   (setq of_elev of_elevx)
   )
(setq of_elevx of_elev)
(while (or (setq of_epk (entsel)) (eq 7 (getvar "errno")))
   (if (and of_epk
   (member (cdr (assoc 100 (reverse (entget (car of_epk)))))
      '("AcDbPolyline" "AcDb2dPolyline"))
   (setq of_pt (getpoint "\nPlease Select the Side to offset: "))
   )
   (command "_.offset" of_dist of_epk of_pt "" "_.move" (entlast) ""
       (list 0.0 0.0 of_elev) "")
   )
   )
(princ)
)
;--------------------------------------------------------------------------------------------------------------------------------------------------------------------
(defun c:mos2nsc ( / )
(SETQ reply2 (ACET-UI-MESSAGE (strcat "Some Text") "Some Header" 20))
(IF (= reply2 6) (c:replyyes))
(IF (= reply2 7) (c:runlater))
)
;--------------------------------------------------------------------------------------------------------------------------------------------------------------------
(SETQ reply1 (ACET-UI-MESSAGE (strcat "Some Text") "Some Header" 36))
(IF (= reply1 6) (c:mos2nsc))
(IF (= reply1 7) (c:runlater))

 
另请注意:
您还将所有函数定义为命令。这对于c:mos2nsc是有意义的,但对于任何其他的。
 
其次,有几个例子表明,您在var上使用setq,但不为其赋值。我想知道的是,这样做是否会清除该值(它没有),或者您是否正在使用此方法返回var的当前值。
如果是第一个变量,则可以通过将其设置为nil、“”或0来清除var。
如果是第二个,那么您可以通过简单键入var的名称(不带括号)来返回var的值。
当然,如果你的目的不是我有限的洞察力,那么请原谅我。
 
最后,这真的值得它自己的线程,以便它得到应有的关注,因为你面临的问题与原来的帖子没有太多关系。并将代码封装在代码哈希中

SLW210 发表于 2022-7-5 21:01:59

请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。

SLW210 发表于 2022-7-5 21:05:27

您也可以手动键入您的代码。之间没有空格

Lee Mac 发表于 2022-7-5 21:06:21

 
不客气!
 
另外,关于代码标签——正如SLW210所建议的那样,我发现简单地键入BBCode标签更容易,即:
 
[突出显示][不突出]
5

Lee Mac 发表于 2022-7-5 21:10:44

@主持人,建议将帖子#17向前移动到此帖子。

SLW210 发表于 2022-7-5 21:15:03

帖子合并。
页: 1 [2]
查看完整版本: 是否运行seper对话框