你可以看到这个Lisp程序停在哪一行
认为问题出在Excel部分
马丁:
检查的一些想法:
你所在街区的R车站叫什么名字?或者如果不是,那么您是否编辑了lisp?
块标签的三个属性是纬度和经度吗?
请记住,纬度将是图形中的“Y”位置
ACAD很愚蠢,会输入一对的第一个坐标,并将其输入为“X”位置,因此
确保在图形中列出其中一个块的插入点,以确保数据位于正确的位置。
嗯,史蒂夫 谢谢Steve
这是我的错
这里是编辑过的lisp
我使用了Excel文件,其中数字格式的“B”和“C”列(精度为两位小数)和文本格式的“A”列
(vl负载com);;本地defun(defun read\u excel\u range(FilePath ShtNum Address/ExcelApp ExcData Sht UsdRange Wbk)(setq ExcelApp(vlax get or create object“excel.Application”)(vla put visible ExcelApp:vlax true)(vlax put property ExcelApp“DisplayAlerts:vlax true)(setq Wbk(vl catch all apply”vla open(list(vlax get property ExcelApp“WorkBooks”)FilePath))(setq Sht(vl catch all apply“vlax get property(list(vlax get property Wbk“Sheets”)“Item”ShtNum))(vlax invoke method Sht“Activate”)(setq UsdRange(vlax get property(vlax get property Sht”Cells)“Range”Address)UsdRange(vlax get property UsdRange“CurrentRegion”)ExcData(vlax safearray->list(vlax variant value(vlax get property UsdRange“value))(setq ExcData(mapcar(function(lambda(x)(mapcar‘vlax variant value x)))ExcData)(setq ExcData(vl remove if(function(lambda(x)(member nil x)))ExcData))(vl catch all apply‘vlax invoke method(list Wbk“Close”:vlax false))(vl catch all apply‘vlax invoke method(list ExcelApp“Quit”)(mapcar(function(lambda(x)(vl catch all apply)(function(lambda()(progn(if(not(vlax-object-released-p x))(progn(vlax release object x)(setq x nil))))(list UsdRange Sht Wbk ExcelApp))(gc)(gc)(gc)ExcData);;主程序(定义C:STX(/acsp地址attcoll blkname blkobj data_list fname inspoint sheetnum)(setvar“pdmode”34)(setvar“pdsize”2)(setq blkname“R-STATION”); 你如何“逐步检查”一个lsp应用程序,看看它在哪里失败(像旧的DOS编程时代的调试)?
请参见此处:
http://www.lee-mac.com/introtovlide.html 谢谢大家!我们正在进入我以前从未接触过的领域。在我出丑之前,我打算在周末研究一下这个。Vlide为我打开了一个新世界。
页:
1
[2]