David Bethel 发表于 2022-7-5 17:09:17

如何绕过装置/con

为什么这段代码会在2012年崩溃?这只是一个简单的插入命令,从来都不是问题
 

(command "_.LAYER" "_ON" "0" "_Thaw" "0" "_Unlock" "0" "_Set" "0" "")
(command "_.VPOINT" '(0 0 1)
         "_.UCS" "_W"
         "_.PLAN" "_W")
(command "_.INSERT" (strcat m f) '(0 0 0) 1 1 0)

 
文本历史记录:

Command: _.UCS
Current ucs name:*WORLD*
Specify origin of UCS or
<World>: _W
Command: _.PLAN
Enter an option <Current>: _W Regenerating model.

Command: _.INSERT Enter block name or [?]: c:/0-fx2/r14/ABA011 Substituting
for .
Substituting for .

Units: Millimeters   Conversion: 0.03937008
Specify insertion point or :
Enter X scale factor, specify opposite corner, or <1>: 1 Enter Y
scale factor <use X scale factor>: 1
Specify rotation angle <0>: 0

 
我以前从未遇到过这种情况。它在开车
我疯了
 
 
 
-大卫

Stefan BMR 发表于 2022-7-5 17:19:47

试试entmake路线。请注意,块看起来像1:1,但比例和比例因子受设置的影响。
(entmakex
(list
   '(0 . "INSERT")
   (cons 2 (strcat m f))
   '(10 0.0 0.0 0.0)
   '(41 . 1.0)
   '(42 . 1.0)
   '(43 . 1.0)
   '(50 . 0.0)
)
)

David Bethel 发表于 2022-7-5 17:24:23

到现在为止,一直都还不错
 

(command "_.INSERT" (strcat m f))
(command)
(entmake (list (cons 0 "INSERT")(cons 2 f)(list 10 0 0 0)))

 
很多不必要的工作。但它正在发挥作用
 
谢谢-大卫

David Bethel 发表于 2022-7-5 17:29:41

其中一个疯狂的部分是,我已经转换了所有400个文件,我必须处理后版本14,这样我就不必处理这种类型的垃圾。
 
显然,400个文件中的一些文件是使用公制模板balance imperial创建的。
 
-大卫

David Bethel 发表于 2022-7-5 17:35:22

以防其他人遇到这个问题
 
https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/Blocks-xrefs-or-raster-images-are-scaled-when-inserted.html

Lee Mac 发表于 2022-7-5 17:39:41

您是否尝试过将INSUNITS=0和INSUNITSDEFTARGET=0?
 
(编辑:太慢了-我看到你发布了一个链接来解释这一点)

David Bethel 发表于 2022-7-5 17:49:31

终于找到了一些信息。我认为无论文件是如何创建的,都是插入文件中的设置。
 
我还认为,如果不使用模板文件启动新图形,则默认情况下会打开这些系统变量(1)。我经常这么做
 
谢谢-大卫

Stefan BMR 发表于 2022-7-5 17:54:44

对不起,大卫,假设你知道这些系统变量,当我提出建议时,我字面上理解为“绕过单元”。

David Bethel 发表于 2022-7-5 17:59:43

 
 
没关系。我不会使用这些更新的版本,除非我必须为客户开发例程。但你们的广告确实奏效了!
 
我指责AutoDesk破坏了命令序列中的向后兼容性。为他们感到羞耻!即AutoLISP中的EXPLODE命令仍然需要AutoLISP中的单个ename-David

marko_ribar 发表于 2022-7-5 18:08:19

 
QAFLAGS=1。。。但我不建议在代码中使用它,只有在必要的情况下,并确保将其重置为0。。。当然,我的建议是:将(setvar'QAFLAGS 0)放入acaddoc。lsp,因此您可能永远不会遇到诸如无法使用ACET函数和通过调用(命令“.-LAYER”…)打开层对话框之类的问题来自AutoLisp,并且。。。(谁知道当QAFLAGS=1且您Lisp程序时还有什么问题…)
页: [1] 2
查看完整版本: 如何绕过装置/con