乐筑天下

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

[编程交流] 自动D孵化故障

[复制链接]

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-6 06:35:13 | 显示全部楼层 |阅读模式
我正在再次进行自动绘图过程,遇到了一个真正的障碍。是的,我做了广泛的搜索,在论坛上找到了这个。这似乎解释了可能的错误,但问题是我画了四(4)个这样的区域,相同的代码对所有这些区域都很好。但是有一些条件只会改变一些维度,我最终得到的是右侧的完美图像,但左侧的图像没有阴影。请记住,我使用的是相同的代码,我的意思是我将一些变量传递给一个函数,该函数可以绘制左右图像。
 
我可以通过等待在每个图像的底部插入通道块,直到图案填充完成后,使其工作。这让我大吃一惊,因为在任何情况下,右边的那个都能工作。但是,当通道在图案填充之前插入时,我会使用图案填充的单个夹点,而不是它通常创建的多个夹点。此外,请注意,在所有这些之前绘制了一条线,这使得混凝土区域的背面能够正常工作,因此边界命令将正常工作。图案填充完成后,将根据用户的偏好对该PLINE进行嵌入。
 
这是我用来准备这些图像的代码。我不能解释所有的变量,只知道一切都是可行的。只是在舱口之前插入通道导致了这种行为,这让我感到困惑。这些是彼此的镜像,但在生产运行中总是有足够的差异,我不能简单地使用mirror命令来重新创建。
 
 
  1. (doit pt7 pi)
  2. (doit pt8 0)
  3. (defun doit ( _pt _left)
  4. .
  5. .
  6. .
  7. (command "._LINE"
  8.            (polar (polar _pt a270 (- slabdp 0.4375)) _left 4)
  9.            (polar (polar _pt a270 (- slabdp 0.4375)) _left 0.375)
  10.            ""
  11.   )
  12.   (command ".CLAYER" "Layer12")
  13.   (command "._LINE"
  14.            (polar (polar _pt a270 afrmdp1) _left 0.375)
  15.            (polar (polar _pt a270 (- slabdp 0.4375)) _left 0.375)
  16.            (polar _pt a270 (- slabdp 0.4375))
  17.            (polar _pt a270 afrmdp1)
  18.            ""
  19.   )
  20.   
  21.   (command "._INSERT"
  22.            (strcat blkpath _nrblk)
  23.            (polar _pt a270 tonr)
  24.            ""
  25.            ""
  26.            ""
  27. (Concrete_Hatch _pt _left)
  28. (entdel pl1)
  29. (princ)
  30. ); end doit function
  31. (defun Concrete_Hatch ( pt x / _bound)
  32. (command "._ZOOM" "A")
  33. (command "._CLAYER" "Concrete")
  34. (command "_-BOUNDARY" (polar pt x (+ afrmdp1 2)) "")
  35. (setq _bound (entlast))
  36. (if (/= _bound (entlast))
  37.    (command "_-hatch" "_S" "_L" "" "_P" "AR-CONC" "0.25" "0.0"        "")
  38. )
  39. (entdel _bound)
  40. (princ)
  41. ); end Concrete_Hatch function

 
我希望这是清楚的。再次出于专有原因,我不得不去掉一些代码。。。但这应该足以显示我在使用什么,并可能有助于指示在绘制左侧时出现了什么问题。
073515i0qxml0j5zmmwbqi.jpg
回复

使用道具 举报

180

主题

639

帖子

463

银币

中流砥柱

Rank: 25

铜币
897
发表于 2022-7-6 07:40:31 | 显示全部楼层
通过一个消除的过程,我似乎已经解决了这个问题。左侧图像的右侧与原点(0.0 0.0)对齐。因此,当进行缩放“e”或缩放“a”时,在该图像左侧执行的任何操作都被视为不在屏幕上。即使你可以在屏幕上看到所有的内容。尽管如此,当执行图案填充代码时,返回时会出现“未找到图案填充边界”错误。我为此做的工作是添加几行代码,这些代码可以识别正在处理图形的这一部分,然后使用图像周围的一些点进行缩放,以确保它进入屏幕。其余的代码运行良好,最后我得到了预期的结果。我想这并不是闻所未闻的,但经过一些努力,最终确定出了问题所在。更糟糕的是,我在较小的规模上做了一些类似的测试,无法再现错误。这个特殊的任务似乎需要这种特殊的缩放才能将所有对象聚焦。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:16 , Processed in 0.416133 second(s), 59 queries .

© 2020-2025 乐筑天下

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