明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1286|回复: 8

[提问] 用LISP调用一个VLX程序命令,么有调用成功什么情况?

[复制链接]
发表于 2020-5-4 09:42:43 | 显示全部楼层 |阅读模式
本帖最后由 江南十笑 于 2020-5-4 09:46 编辑

用LISP调用一个VLX程序命令,没有调用成功什么情况?
  1. (defun C:TT ()
  2.   (if (not (member 'ddmodify (vl-list-loaded-vlx)))
  3.     (load "DBJY.VLX")
  4.   )
  5.   ;(initget "F D")
  6.   ;(setq SYN (getkword "\n大板加腋,请您选择选择方式(F[框选]/D[点选(默认)])"))
  7.   ;(if ( null SYN ) (setq SYN "D"))
  8.   ;(if ( = "F" SYN )
  9.   ;(c:uK)  (c:uJ)
  10.   ;)
  11.   
  12.   
  13.   ;(load "DBJY.VLX")
  14. (c:UK)
  15.   ;(vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) "UK")
  16. )



论坛上搜到的各种调用语句都试了 包括command   都是程序加载 就没有后续了   但是手动输入UK又可以执行程序
发表于 2020-5-4 15:54:34 | 显示全部楼层
(defun c:xxx ()
        (if (null c:xxxx)
                (load "C:/.../.../.../.../...lsp")
        )
        (c:xxxx)
        (princ)
)
大板加腋的程序能分项一下吗
 楼主| 发表于 2020-5-4 21:42:56 | 显示全部楼层
cghdy 发表于 2020-5-4 15:54
(defun c:xxx ()
        (if (null c:xxxx)
                (load "C:/.../.../.../.../...lsp")

试验了  调用不了      程序你留个邮箱  我发你  不是我编的  以前公司的
发表于 2020-5-5 15:23:09 | 显示全部楼层
江南十笑 发表于 2020-5-4 21:42
试验了  调用不了      程序你留个邮箱  我发你  不是我编的  以前公司的

谢谢啦,1782067553@qq.com
 楼主| 发表于 2020-5-10 12:09:52 | 显示全部楼层
有没有大佬知道解决方法啊
发表于 2020-5-10 18:56:17 | 显示全部楼层
按道理要运行vlx里边的哪个命令或者哪个函数,直接检测它就行了。。。(vl-list-loaded-vlx)好象并不一定能真实返回所加载的VLX...反正我测试过一个vlx,不管通过APPLOAD命令加载还是load加载,事实上都加载成功了,但(vl-list-loaded-vlx)返回的是nil...
另外,建议load后边的vlx带上全路径...
(or c:uk(load "D:\\xxxxx\\xxxx\\DBJY.VLX"))
(c:uk)
 楼主| 发表于 2020-5-10 20:02:03 | 显示全部楼层
llsheng_73 发表于 2020-5-10 18:56
按道理要运行vlx里边的哪个命令或者哪个函数,直接检测它就行了。。。(vl-list-loaded-vlx)好象并不一定能 ...

谢谢  我现在遇到的问题是能加载成功  但是调用不了  必须手动输入uk  或者用另外写个lisp  用(c:uk)调用  也就是不了一次性加载 和输入命令调用  感觉加载完  后续命名就被打断了 (c:uk)无效  
发表于 2020-5-10 21:30:36 | 显示全部楼层
接道理不会出现这种情况,除非加载过程出错,比如原VLX里边除了定义(C:UK) 外,再它后边多加一个出错的语句,比如(+ "1" "2"),这样如果通过命令appload是能加载的,也能使用c:uk,但是由于加载过程它会运行到这个出错语句,导致后续无法继续。。。也就是加载语句之后的语句无法继续,因为加载过程运行到(+"1""2") 出错了,后边的(c:uk)根本运行不到,具体什么原因估计你得先把VLIDE打开,设置出错中断,然后在命令行通过appload加载它试试有没有加载过程出错才能确定
发表于 2020-5-22 12:32:38 | 显示全部楼层
(defun C:TT ()
  (if (not (member 'UK(vl-list-loaded-vlx)))
    (load "DBJY.VLX")
  )
(c:UK)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 01:59 , Processed in 0.190690 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表