muai2010 发表于 2023-9-2 11:02:30

小白问下一个简单问题,恳求解答~~~~



在使用论坛面板时候遇到一个问题,类似
(vla-sendcommand(vla-get-activedocument(vlax-get-acad-object)) "line")
此格式只获取了命令,还要在按下回车或者空格才能画直线,如何变成获取了这个命令后直接画直线呢?

tigcat 发表于 2023-9-2 11:02:31

(vla-sendcommand(vla-get-activedocument(vlax-get-acad-object)) "line ")
line后加一个空格

caaooo 发表于 2023-9-2 11:15:54

本帖最后由 caaooo 于 2023-9-2 11:17 编辑

(vla-sendcommand(vla-get-activedocument(vlax-get-acad-object)) "line")
(vla-sendcommand(vla-get-activedocument(vlax-get-acad-object)) " ")

你的代码只是在命令行写了一个line,所以再写一个空格就能执行命令了

muai2010 发表于 2023-9-2 11:27:33

tigcat 发表于 2023-9-2 11:15
(vla-sendcommand(vla-get-activedocument(vlax-get-acad-object)) "line ")
line后加一个空格

老哥还有一个问题请教,我在论坛下载的面板,在最下面添加了按钮
:button{label=\"画圆\";key=\"yuan\";height=2.5;}
然后增加了
(action_tile "yuan" "(c:circle)")

但是circle这个命令无法执行,no function definition: C:CIRCLE如何解决呢?

llsheng_73 发表于 2023-9-2 11:30:39

先自己定义一个这个函数

muai2010 发表于 2023-9-2 11:47:41

llsheng_73 发表于 2023-9-2 11:30
先自己定义一个这个函数

:button{label=\"画圆\";key=\"yuan\";height=2.5;}


(action_tile "yuan" "(c:yuan1)")


(defun c:yuan1() (c:circle) (princ))

哥,我这样定义的,但是也是无法使用呢

caaooo 发表于 2023-9-2 12:04:24

本帖最后由 caaooo 于 2023-9-2 12:06 编辑

muai2010 发表于 2023-9-2 11:27
老哥还有一个问题请教,我在论坛下载的面板,在最下面添加了按钮
:button{label=\"画圆\";key=\"yuan\"; ...
(c:circle)这个不是你已经定义的函数,而且这样的函数名是可执行命令

我猜你是想执行画圆命令

(action_tile "yuan" "(vl-cmdf\"circle\"))
应该是这样,嗯

caaooo 发表于 2023-9-2 12:13:14

caaooo 发表于 2023-9-2 12:04
(c:circle)这个不是你已经定义的函数,而且这样的函数名是可执行命令

我猜你是想执行画圆命令


多说一点,其实是拿一个币有点不好意思
你题目的问题,你用vla-sendcommand来执行命令是没必要的
用vl-cmdf是最简单的,而且也不用加什么空格 (vl-cmdf"line"),你看多简单

muai2010 发表于 2023-9-2 12:48:06

caaooo 发表于 2023-9-2 12:13
多说一点,其实是拿一个币有点不好意思
你题目的问题,你用vla-sendcommand来执行命令是没必要的
用vl- ...

哥,我就是这个意思,但是我用的你发的好像字串符错误,是不是有啥问题,主要我太小白了不会搞

caaooo 发表于 2023-9-2 12:56:45

muai2010 发表于 2023-9-2 12:48
哥,我就是这个意思,但是我用的你发的好像字串符错误,是不是有啥问题,主要我太小白了不会搞

(action_tile "yuan" "(vl-cmdf\"circle\")")

:P-少了个"
页: [1] 2
查看完整版本: 小白问下一个简单问题,恳求解答~~~~