LialAtArnold 发表于 2022-7-6 10:39:23

LISP程序呈现现有

我有一个C应用程序,它调用LISP程序将块插入到图形中。当我从C#接口运行这个LISP程序时,它会用与以下相同的名称呈现所有现有块:**未定义块#2129780480
 
过程是:
我使用命令行中的INSERT命令在图形中放置一个名为REVISION的块。
2.然后我运行C应用程序,它调用插入相同块(修订版)的LISP程序。
3.从命令行插入的块参照变得未定义。
 
我用来调用LISP程序的代码是:
//获取对活动文档的引用
文档文档=ACADAP。DocumentManager。MdiActiveDocument;
//将文档转换为互操作版本
AcadDocument curAcadDoc=(AcadDocument)doc。AcadDocument;
 
//将Visual LISP加载命令发送到编辑器
curAcadDoc。SendCommand(“(vl load com)”/*关闭paren后的空格!!!*/);
//使用的标题栏大小(D或F)
if(标题栏大小等于(“D”)
{
//D尺寸标准宽度设备列表
if(此radioButton1.选中)
{
//设置LISP程序的完整路径
string lispPath=“Z:/NPID16/HCAD/DLIST20”;
 
//格式化字符串以加载指定的LISP程序
string loadStr=字符串。格式(“(vl load all \“{0}\”)]/*空格后关闭paren!!!*/,lispPath);
 
//将格式化的命令发送到编辑器
curAcadDoc。SendCommand(loadStr);
 
//现在调用LISP程序
库拉卡多克。SendCommand(“_DLIST20”);
}
}
 
如果我在C应用程序之外加载并运行LISP程序,就不会有问题。
页: [1]
查看完整版本: LISP程序呈现现有