yui009 发表于 2022-7-5 20:33:21

嗨,这是第一次发帖子,我希望它是正确的地方。
 
我需要做(可能是“laytrans”)的200-300施工文件由10多个不同的建筑师。为了让“学习办公室”高效地处理信息,需要将文件转换为集体计划的一层系统。
 
我能想象的唯一方法是:
1.使主文件插入所有外部参照,并将所有图层设置置于laytrans中
2.使用“all”和“new”创建dws文件转换表
3.找到运行“laytrans”的批处理方法。由步骤2创建的dws文件。
由于层数超过1000-1500,我想知道这是否有效。任何建议都很好。

BIGAL 发表于 2022-7-5 20:34:39

一旦你让你的新dws你的一半,我无法让laytrans运行没有弹出拨号框尝试-。有些命令是这样的。也许有人可以帮助输入alt+L(键码),即“加载”,然后输入文件名和其他需要的键码才能继续?
 
编写脚本是打开所有图纸等的简单部分。

irneb 发表于 2022-7-5 20:40:01

要尝试控制对话框,请查找名为SendKeys的内容。这是我不久前做的一个示例:http://forums.augi.com/showpost.php?p=1103443&postcount=8

yui009 发表于 2022-7-5 20:40:10

谢谢BIGAL和irneb。
 
听起来没有办法简单地通过选择包含所有dwg文件的文件夹进行批处理,只有一个laytrans设置?
以前有没有人做过类似的事情?

irneb 发表于 2022-7-5 20:43:22

像这样的东西怎么样?未经测试:
想法是从命令行开关执行LayTrans,因此可以从脚本中运行它。它“应该”从任何DWT/DWG/DWS文件中读取标准图层。然后,它使用一个文本文件来存储哪些层应该重命名/合并到哪个标准层中。如果找到一个新图层,它将保存到一个名为正在编辑的DWG的文本文件中+“-Unfound Layers.TXT”。如果翻译文件中有错误,则会将其保存到另一个名为当前DWG+“-error Translated Layers.TXT”的TXT文件中。
 
因此,从那里你应该能够很容易地通过记事本生成翻译文件。它只是一个文本文件,带有不正确的层名称、选项卡,然后是正确的层名称,每个翻译一行。注意,目前该文件中的所有层名称都需要大写(否则我不确定如何处理)。

yui009 发表于 2022-7-5 20:46:56

嗨,irneb
哦,我错过了昨天的帖子,
我现在就试试,

yui009 发表于 2022-7-5 20:51:33

嗨,irneb
 
首先,我尝试将代码保存在中。autocad中的vlx和load。
将代码中的“filename”替换为已保存。dws文件。但不起作用。
 
第二,保存代码。在autoscript中选择和加载。
它开始了这个过程,但从未结束。所以我想我没有做你想做的事。
你能一步一步地告诉我吗?

irneb 发表于 2022-7-5 20:55:41

对不起是的。。。如果您将其保存到VLX(我假设您是通过在VLIDE中编译来实现的),请确保不要使用任何额外的优化-当您将优化设置得太高时,lisp不会像FAS/VLX那样为单独的名称空间编写。一旦我知道LSP文件正在工作,我倾向于只编译到FAS/VLX——修改和重新加载(单击一次)比修改、再次编译(多次单击)然后重新加载(切换到ACad窗口并键入(加载…)要简单得多。
 
第二:如果有错误,它可能不会结束。可能在支持路径中找不到VLX文件。您可以发布命令日志吗?AutoScript应该能够为您创建哪个?从那里我也许可以知道绞刑发生在哪里

irneb 发表于 2022-7-5 20:58:41

No! You don't need to modify the code thus, the command asks you to input the filename - this so it can run in any instance. I'll try and make a video screen capture for you so you can see what I mean ... might take a while though, since I'm a bit busy at present .

yui009 发表于 2022-7-5 21:00:59

hi, irneb
 
thank you for response! are you friend of od1? he pointed out that you may be a person wih whom he worked. as i had communication with him by normal mail.
1.
i tried from scratch, i saved code from your post and created .lsp file. yet still not working,,, after i have noticed that after defun 'c:' were missing in few places. i don't know if it was intentional or not, but i have given 'c:' after each DEFUN line.
after giving 'c:' lisp was recognized in autocad, however, received message
'Command: readlayerfile; error: too few arguments.
2.
i tried to get log file you mentioned above, but as command goes on without end, it seems that log is repetition of one line.

Script file: C:\Users\User\Desktop\ReadLayerFile.scrU:\xxx\07_DESSINS\DWG\Xref\Logement_DCE\xx\xx_xxx_R1_110202.dwg----------Command "SCRIPT" done.
 
i found idea is great and it will definitely help what i need to do. so i am still willing to do all necessary process to make this happen.
页: 1 [2]
查看完整版本: 需要基于TXT文件的图层Tr