明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 0451doctor

如何在lisp里调用express tools 里的命令!

  [复制链接]
发表于 2009-11-13 11:24:00 | 显示全部楼层
怎么看不了回复?
发表于 2009-11-15 19:25:00 | 显示全部楼层
(Vlax-Invoke-Method (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'SendCommand "quit  ")
发表于 2009-12-1 16:21:00 | 显示全部楼层
直接用括号(c:命令)
发表于 2009-12-1 20:51:00 | 显示全部楼层

先用(vlax-add-cmd)加成命令

然后可以用command函数调用

发表于 2011-2-7 21:28:14 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2011-2-7 21:29 编辑

我以flatten试了一下,上面的哪一种说法都不行(但在cad直接用flatten是可以的),不知何故?
;;;(setq b (car (entsel)))
(command "C:flatten" b "" "")
(command (C:flatten) b "" "")
(command (C:flatten) b "" "" "")
((c:flatten) b "" "" )
((c:flatten) b "" "" "")
(c:flatten b "" "" )
(c:flatten b "" "" "")
发表于 2011-2-7 23:29:06 | 显示全部楼层
success8879说的没错,我曾用过这种方法.
发表于 2011-2-12 14:14:17 | 显示全部楼层
最好给个完成的代码
发表于 2011-2-13 16:50:23 | 显示全部楼层
本帖最后由 mandala 于 2011-2-13 16:55 编辑

回复 xyz002 的帖子
对express里一些不需要加参数的命令可以用(c:命令名),或(command (c:命令名))直接调用。如果是需要加参数的命令,可以用调用express中子函数的方式。

拿flatten为例:
首先在程序开始加入
(acet-autoload2 '("FLATTENSUP.LSP" (acet-flatn ss hide)))
用来调用express中FLATTENSUP.LSP里的acet-flatn 函数;

然后在需要flatten的时候写上:
(acet-flatn ss nil)或者(acet-flatn ss T)即可。

注意:1 :“ss”是一个选择集而非图元,代表你要变成多义线的曲线集;2、nil是用圆弧连接,效果很好;T 用直线连接,效果极烂。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-5 11:04 , Processed in 0.304873 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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