aaryan 发表于 2022-7-6 08:22:42

加载vlx文件

大家好,
 
我有一个vlx文件,它是由我的同事提供的。他曾经使用autocad 2005版本。但当我尝试在最新版本中加载同一个文件时,出现了一个错误。
; 错误:错误的参数类型:stringp nil
是否仍有修复此错误的方法。
 
当做
雅利安人

pBe 发表于 2022-7-6 08:34:05

是的,有。。。
很多猜测
 
严肃地。如果我们知道编码的全部内容,那么追踪问题就会容易得多。

aaryan 发表于 2022-7-6 08:41:07

谢谢pBe
但我认为我们不能编辑vlx文件。。。
这可能是与Acad 2005合作的原因之一

pBe 发表于 2022-7-6 08:46:17

当然我们不能编辑。不应该。。
了解代码的作用将大大缩小问题的范围。
假设之前为某种类型的实体(如文本实体)编写的代码。。
它可以处理文本实体,而不是多行文字。。
 
请给我们描述一下它的功能。然后我们看看能做些什么。。

aaryan 发表于 2022-7-6 08:57:48

这是一个版权程序,用于制作调查图表和个人资料等。除此vlx文件外,还有一些2005年的arx文件、dll和cui文件2005。。我不能上传到这里,因为这是版权。。
你能给我提个建议吗。。
顺便说一句,我很感谢你的回复。。。

pBe 发表于 2022-7-6 09:02:05

从外观上看,基于错误消息。字符串值问题
 
(setq str“香蕉蛋糕”)
(strcase str)
“香蕉蛋糕”
 
(setq str nil)
(strcase str)
; 错误:错误的参数类型:stringp nil
 
例程似乎正在计算字符串值并将其传递给变量名
现在,如果您检索文本实体的字符串值
 
(cdr(assoc 1(entget ent)))
"123"
(>(atoi str)10)
T
如果通过某种方式,实体是具有格式化的多行文字
“\\A1;\\pxql;123”
(如果(>(atoi str)10)

然后传递值进行评估。你会得到
 
; 错误:错误的参数类型:stringp nil
 
总之,在较新的cad版本中,有一些旧程序无法识别的实体类型。尤其是当它涉及本机命令时。
然后检查正在使用的图元类型,并将其复制到lisp程序崩溃的图形中

BIGAL 发表于 2022-7-6 09:14:33

你需要回到原来的供应商,并寻求一个更新版本,它可能会花费你。这里的重要信息受版权保护。

pBe 发表于 2022-7-6 09:16:41

我对这个问题的看法是写一个新的代码,这就是为什么我要求一个描述,而不是代码本身。
但话说回来。。。一个更新版本的程序从原始作者将是一个更好的选择,是的,它可能会花费你。

aaryan 发表于 2022-7-6 09:30:07

非常感谢你
页: [1]
查看完整版本: 加载vlx文件