乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 93|回复: 2

[编程交流] Zoo后的结果不一致

[复制链接]

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:54:39 | 显示全部楼层 |阅读模式
当我使用Autoscript运行带有脚本的lisp时,所有用于更改层等的代码都可以很好地工作,但它并不总是最大化并保存在缩放位置。。。只是有时候。我可以在相同的文件上运行脚本两次,得到不同的结果。问题是,它会放大到范围,然后缩小一点,然后保存。
 
此外,没有正确缩放到范围的文件大约要大4倍,如果我在文件失败后手动打开文件,缩放到范围,然后关闭,就可以了。
 
发生什么事?是跑得太快还是怎么的?日志似乎表明一切正常。
 
  1. (defun c:tapconvert ()
  2. ;       *Runs various upgrades to tap cards converted from DGNs
  3. ;       *Changes layer names to friendly names, sets layer colors, sets active layer to Dimensions1, locks the 0 layer,
  4. ;  inserts blocks from block library, replaces symbols for objects with blocks, removes duplicate items,
  5. ;   purges unused items, zooms to extents, saves and closes the drawing.
  6. ;
  7. ;
  8. ; *Changes layer names from Microstation Levels to friendly names*
  9. (setq old_name "Level 1" new_name "Border")
  10. (command "-rename" "layer" old_name new_name)
  11. (setq old_name "Level 2" new_name "Roadway")
  12. (command "-rename" "layer" old_name new_name)
  13. (setq old_name "Level 3" new_name "Road_Name")
  14. (command "-rename" "layer" old_name new_name)
  15. (setq old_name "Level 4" new_name "Building")
  16. (command "-rename" "layer" old_name new_name)
  17. (setq old_name "Level 5" new_name "Street_Text")
  18. (command "-rename" "layer" old_name new_name)
  19. (setq old_name "Level 6" new_name "Walkway")
  20. (command "-rename" "layer" old_name new_name)
  21. (setq old_name "Level 7" new_name "Top_Text")
  22. (command "-rename" "layer" old_name new_name)
  23. (setq old_name "Level 8" new_name "Water_Main")
  24. (command "-rename" "layer" old_name new_name)
  25. (setq old_name "Level 10" new_name "Dimensions1")
  26. (command "-rename" "layer" old_name new_name)
  27. (setq old_name "Level 11" new_name "Misc_Text")
  28. (command "-rename" "layer" old_name new_name)
  29. (setq old_name "Level 12" new_name "Reducer")
  30. (command "-rename" "layer" old_name new_name)
  31. (setq old_name "Level 15" new_name "Meter_Pit")
  32. (command "-rename" "layer" old_name new_name)
  33. (setq old_name "Level 22" new_name "Curb_Valve")
  34. (command "-rename" "layer" old_name new_name)
  35. (setq old_name "Level 26" new_name "Service_Tap")
  36. (command "-rename" "layer" old_name new_name)
  37. (setq old_name "Level 30" new_name "Manhole")
  38. (command "-rename" "layer" old_name new_name)
  39. (setq old_name "Level 37" new_name "Catch_Basin")
  40. (command "-rename" "layer" old_name new_name)
  41. (setq old_name "Level 60" new_name "Dimensions2")
  42. (command "-rename" "layer" old_name new_name)
  43. (setq old_name "Level 63" new_name "Misc")
  44. (command "-rename" "layer" old_name new_name)
  45. ;
  46. (command "-overkill" "ALL" "" ""); Removes duplicate drawing elements for cleanup / file size reduction
  47. (command "purge" "A" "*" "N"); Purges all unused layers, blocks, etc. from the drawing to reduce file size*
  48. ;
  49. ; *Recreates and colors all layers to account for purged/removed layers*
  50. (command "-layer" "M" "Border" "C" "T" "255,255,255" "" "")
  51. (command "-layer" "M" "Building" "C" "T" "184,121,0" "" "")
  52. (command "-layer" "M" "Catch_Basin" "C" "T" "185,185,185" "" "")
  53. (command "-layer" "M" "Curb_Valve" "C" "T" "255,0,0" "" "")
  54. (command "-layer" "M" "Dimensions2" "C" "T" "185,185,185" "" "")
  55. (command "-layer" "M" "Manhole" "C" "T" "185,185,185" "" "")
  56. (command "-layer" "M" "Meter_Pit" "C" "T" "184,121,0" "" "")
  57. (command "-layer" "M" "Misc" "C" "T" "185,185,185" "" "")
  58. (command "-layer" "M" "Misc_Text" "C" "T" "0,255,255" "" "")
  59. (command "-layer" "M" "Reducer" "C" "T" "255,0,0" "" "")
  60. (command "-layer" "M" "Road_Name" "C" "T" "165,135,115" "" "")
  61. (command "-layer" "M" "Roadway" "C" "T" "165,135,115" "" "")
  62. (command "-layer" "M" "Service_Tap" "C" "T" "184,121,0" "" "")
  63. (command "-layer" "M" "Street_Text" "C" "T" "184,121,0" "" "")
  64. (command "-layer" "M" "Top_Text" "C" "T" "184,121,0" "" "")
  65. (command "-layer" "M" "Walkway" "C" "T" "165,135,115" "" "")
  66. (command "-layer" "M" "Water_Main" "C" "T" "0,135,255" "" "")
  67. (command "-layer" "M" "Dimensions1" "C" "T" "185,185,185" "" ""); Recreates and colors Dimensions1 last to make it the active layer for editing
  68. (command "-layer" "LO" "0" ""); *Locks the zero layer*  
  69. ;
  70. ;
  71. ; *Sets dimension style settings: all dimension scaling to 28x default, 1 decimal point, rounds to 1/2 foot, adds foot indicator*
  72. (setvar "DIMSCALE" 28)
  73. (setvar "DIMDEC" 1)
  74. (setvar "DIMRND" 0.5)
  75. (setvar "DIMPOST" "'")
  76. ;
  77. (command "zoom" "e"); Zooms to extents
  78. ;(command "qsave") ; Saves drawing but Autoscript does this automatically
  79. ;(command "close") ; Closes drawing but Autoscript does this automatically
  80. (princ "Processes Complete!")
  81. )
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 07:35:05 | 显示全部楼层
有一次我遇到了一个关于最大化的问题,我用一种奇怪的方式克服了它。。。也许这帮不了你,但谁知道呢。。。这就是我所做的:
 
在代码结束时,我遇到了一个放大错误的问题,我发现问题出在我的情况下,我的DWG中有两个布局(Layout1和Layout2)的视口。。。看起来其中一个布局中的较大视口阻止了我在模型空间中进行最大化缩放(tilemode 1)。。。所以我决定在代码结束时切换到所有布局,然后切换到(tilemode 1)并进行最大化。。。经过这个过程,ACAD允许我正确缩放。。。我不知道这是否是与我和我的代码相同的问题,但最好做些改变并观察结果,而不是什么都不做,让它被机器打败-ACAD。。。
 
因此,也许可以尝试:
 
  1. (foreach lay (layoutlist)
  2. (setvar 'ctab lay)
  3. )
  4. (setvar 'tilemode 1)
  5. (command "_.zoom" "e")

 
我希望你能用自己的方式解决问题,因为我看不出你的代码明显不足。。。
 
M、 R。
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 08:00:32 | 显示全部楼层
问题是,我没有使用任何布局,因为这些图纸都是简单的范围打印,8.5x11。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 12:14 , Processed in 0.695605 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表