乐筑天下

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

[编程交流] AECC标签样式编辑

[复制链接]

95

主题

477

帖子

383

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
475
发表于 2022-7-5 16:32:48 | 显示全部楼层 |阅读模式
因此,我试图扩展我编写的一个例程,将背景遮罩应用于不同的对象。我遇到的问题是当我尝试更改AECC标签样式的属性时。我不知道如何更改正常情况下和拖动状态下对应于背景掩码的属性。当我转储对象时,标签样式显示为无用信息。
  1. LabelStyle = #
。然后我向下迭代一个级别,这为我提供了有关标签样式的信息,但在背景掩码上找不到任何内容。我可以向下迭代另一个级别,获得关于DraggedComponentStyle的信息,但这似乎没有任何关于背景掩码的信息。有人有什么建议吗?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:50:22 | 显示全部楼层
在civ3d中,一些标签样式信息实际上保存在不同的位置,我试图获取样式中的图层信息,发现一些答案在其他地方。我花了很多时间浏览样式,有些标签有描述,但名称与align v的aligns略有不同
 
  1. ; vercheck returns *AeccDoc* for the particular version
  2. (if (not ah:vercheck)(Load "vercheck"))
  3. (ah:vercheck)
  4. (setq gnl (vlax-get *AeccDoc* 'GeneralLineLabelStyles))
  5. (setq std (vlax-get-property gnl 'item "Bearing and Distance 2.5mm >500m"))
  6. (setq labprop (vlax-get std 'LabelProperties))
  7. (setq lay (vlax-get labprop 'Layer))
  8. ; (vlax-dump-object lay)
  9. ;   Value = "0" layer name
  10. (vla-put-Value lay "text")
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 16:53:51 | 显示全部楼层
我可以在BorderStyle、TextComponent、TextComponents和LabelStyle下找到背景遮罩。
 
  1. (setq obj (vlax-ename->vla-object (car (entsel ))))
  2. (setq lblstyle (vlax-get-property obj 'LabelStyle))
  3. (setq tcoms (vlax-get-property lblstyle 'TextComponents))
  4. (setq tcom (vlax-get-property tcoms 'Item 0))
  5. (setq bordStl (vlax-get-property tcom 'BorderStyle))
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
475
发表于 2022-7-5 17:08:11 | 显示全部楼层
希普,谢谢你!所以当我转储bordstl时,我看到背景掩码属性就在那里。然而,我似乎无法实际设置它。掩码的对应代码似乎是-1,但当我尝试通过执行
  1. (vlax-put-property bordstl 'BackgroundMask -1)
来设置它时,实际上什么都没有发生。你知道我做错了什么吗?
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 17:20:42 | 显示全部楼层
请尝试以下操作:
 
  1. (vlax-put-property bordstl 'BackgroundMask :vlax-true)

 

 
  1. (vlax-put-property bordstl 'BackgroundMask :vlax-false)

 
虽然我发现这只适用于非拖拽状态。这不会对拖动状态背景掩码产生影响。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:26:08 | 显示全部楼层
我不确定,但我认为你走错了路,你可能必须有一个背景遮罩设置的标签样式,然后更改点样式为那个。查看点的特性并更改“样式”而不是点标签样式。我已经打过了,但它仍然不太正确,但很接近,我认为有一些越位的设置踢进来。
 
  1. (vlax-put-property lblstyle 'name "your label")
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 17:41:06 | 显示全部楼层
在对此进行更多研究时,背景掩码似乎是为文本组件公开的,尽管它似乎没有为拖动状态组件公开。然而,它暴露在空气中。NET框架。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:10 , Processed in 0.489618 second(s), 66 queries .

© 2020-2025 乐筑天下

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