乐筑天下

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

[编程交流] 更改填充图案比例

[复制链接]

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:11:48 | 显示全部楼层 |阅读模式
我已经阅读了autocad站点中的文档,要从实体图案填充更改为其他类型的图案填充,必须弄乱2个dxf代码。70对应于固体或非固体为1或0。2确实是孵化模式。最后41是图案比例的dxf。
 
所以我试着做以下几点:
 
 
  1. (defun c:efg ( / trama solido e o s x texto tipodepeca z y)
  2.    (if (setq s (ssget "_:L" '((0 . "HATCH"))))
  3.        (repeat (setq i (sslength s))
  4.            (setq e (ssname s (setq i (1- i)))
  5.                  x (entget e)
  6.                  trama (cdr (assoc 2 x))
  7.                           solido (cdr (assoc 70 x))
  8.                          
  9.            )
  10.                 (setq z (entmod (subst 0 solido x))) ;;;; change the dxf 70 from 1 (solid) to 0 (not solid)
  11.        
  12.                
  13.                        
  14.                         (if (= trama "SOLID")
  15.                                
  16.                                 (progn
  17.                                         (setq y (entmod (subst '(8 . "est.Trama") (assoc 8 x) z))) ;;;; Changes layer
  18.                                        
  19.                                         (setq w (entmod (subst '(2 . "AR-CONC") (assoc 2 x) y))) ;;;;Changes type of hatch
  20.                                        
  21.                                         (entmod (subst '(41 . 0.01) (assoc 41 x) w)) ;;;;Changes pattern scale (or shouldn't?)
  22.                        
  23.                                        
  24.                                 )
  25.                         )
  26.            
  27.        )
  28.    )
  29.    (princ)
  30. )

基本上,我将dxf 70从1更改为0(以便启用非实体图案填充),然后将dxf 2更改为其他图案。
 
问题是,一切正常,但比例模式没有改变。(图层和图案填充名称正确)。
 
这与我修改设置的顺序有关吗?
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:23:43 | 显示全部楼层
顺便说一句,我还尝试使用
翻译成(ssdel ename sslist)或类似的东西。我认为这个命令写得正确,但他没有删除图案填充。
 
编辑:删除解决方案:
  1. (command "erase" e "")

 
模式比例问题不知怎么一直存在,有什么提示吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:26:44 | 显示全部楼层
ssdel将从选择集中删除实体;使用entdel为图形数据库中的图元设置擦除标志。
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:30:13 | 显示全部楼层
该死的李,当我看到你回答我希望你有一个关于模式规模的提示,删除是照顾,第一个问题仍然很难。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:36:26 | 显示全部楼层
 
打扰一下
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:42:04 | 显示全部楼层
隐马尔可夫模型。。对我不是说“该死的李,麦克”,而是说“该死的,我的运气,李,麦克”。如果这就是困扰你的原因,我对你的帮助非常高兴
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:50:54 | 显示全部楼层
我不认为可以通过这种方式修改图案填充图元来正确显示图案,因为填充图案的图案填充的DXF数据包含实体图案填充不存在的单独图案数据。此外,模式名称和模式类型ActiveX属性是只读的,这表明这些对象不能相互转换。
 
我相信您需要重建图案填充以包含这些额外数据-为此,我强烈建议使用Visual LISP提供的ActiveX(COM)方法,因为嵌入图案填充实体可能会很麻烦。
 
以下是如何使用Visual LISP创建图案填充的一些示例:
 
等距阴影三角形
偏移和图案填充多段线
Visual LISP中的实体图案填充
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:59:23 | 显示全部楼层
你可能是对的。。无论如何,我检查了一个舱口的dxf列表,然后发生了一些奇怪的事情
 
 
((-1 . ) (0.“图案填充”)(330)(5.“5F4761”)(100.“AcDbEntity”)(67.0)(410.“Model”)(8.“est.Trama”)(100.“AcDbHatch”)(10 0.0 0 0.0)(210 0.0 0 0.0 1.0)(2.“AR-CONC”)(70.0)(71.0)(91.1)(92.3)(72.0)(73.1)(93.4)(10 3891.11-3551.41 0.0)(10 3890.86-3551.41 0.0)(10 3890.86-3551.11 0.0)(10 3891.11-3551.0).11 0.0)(97.0)(75.0)(76.1)(52.0.0)(41.0.01)(77.0)(78.13)(53 . 0.872665) (43 . 0.0) (44 . 0.0) (45 . 0.071726) (46 . -0.00627521) (79 . 2) (49 . 0.0075) (49 . -0.0825) (53 . 6.19592) (43 . 0.0) (44 . 0.0) (45 . -0.0138751) (46 . 0.0752192) (79 . 2) (49 . 0.006) (49 . -0.066) (53 . 1.75321) (43 . 0.00597717) (44 . -0.000522934) (45 . 0.0578509) (46 . 0.068944) (79 . 2) (49 . 0.00637402) (49 . -0.0701142) (53 . 0.806066) (43 . 0.0) (44 . 0.02) (45 . 0.106724) (46 . -0.0165519) (79 . 2) (49 . 0.01125) (49 . -0.12375) (53 . 1.68661) (43 . 0.00889367) (44 . 0.0186207) (45 . 0.0934662) (46 . 0.0974119) (79 . 2) (49 . 0.00956103) (49 . -0.105171) (53 . 6.12932) (43 . 0.0) (44 . 0.02) (45 . 0.0934662) (46 . 0.0974119) (79 . 2) (49 . 0.009) (49 . -0.099) (53 . 0.366519) (43 . 0.01) (44 . 0.015) (45 . 0.0596907) (46 . -0.0402619) (79 . 2) (49 . 0.0075) (49 . -0.0825) (53 . 5.68977) (43 . 0.01) (44 . 0.015) (45 . 0.0243315) (46 . 0.072515) (79 . 2) (49 . 0.006) (49 . -0.066) (53 . 1.24706) (43 . 0.0149742) (44 . 0.0116448 ) (45 . 0.0840222) (46 . 0.0322531) (79 . 2) (49 . 0.00637402) (49 . -0.0701142) (53 . 0.654498 ) (43 . 0.0) (44 . 0.0) (45 . 0.00121599) (46 . 0.0332894) (79 . 6) (49 . 0.0) (49 . -0.0652) (49 . 0.0) (49 . -0.067) (49 . 0.0) (49 . -0.06625) (53 . 0.1309) (43 . 0.0) (44 . 0.0) (45 . 0.026307) (46 . 0.0394412) (79 . 6) (49 . 0.0) (49 . -0.0382) (49 . 0.0) (49 . -0.0637) (49 . 0.0) (49 . -0.02525) (53 . 5.71595) (43 . -0.0223) (44 . 0.0) (45 . 0.0533822) (46 . -0.00225549) (79 . 6) (49 . 0.0) (49 . -0.025) (49 . 0.0) (49 . -0.078 ) (49 . 0.0) (49 . -0.1035) (53 . 5.54142) (43 . -0.0323) (44 . 0.0) (45 . 0.0583186) (46 . 0.0100105) (79 . 6) (49 . 0.0) (49 . -0.0325) (49 . 0.0) (49 . -0.0518 ) (49 . 0.0) (49 . -0.0735) (98 . 0))
 
很多代码都会重复。。每个参数不应该有一个代码组吗?有人知道为什么会这样吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:01:02 | 显示全部楼层
 
对于图案填充图元的每个边定义,将有一组“图案”DXF组,因此是的,DXF组将重复(这类似于DXF组10、40、41、42和91对于LWD多段线的每个顶点重复的方式)。
回复

使用道具 举报

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 19:08:05 | 显示全部楼层
嗯,这很有趣,这意味着我可以在图案填充的标识和坐标之外创建一个类似的列表,这样我可能会得到我想要的。谢谢李
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:07 , Processed in 1.556470 second(s), 72 queries .

© 2020-2025 乐筑天下

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