许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  ANSA二次开发隐藏功能:显示操作大揭秘

ANSA二次开发隐藏功能:显示操作大揭秘

阅读数 3
点赞 0
article_banner

欢迎大家同时关注我在仿真秀中的账号——“ANSA攻城狮 ”,会有更多干货文章以及课程。


在进行ANSA二次开发中,为了让用户更加直观地看到某些单元或者实体,常常需要进行高亮显示或者隐藏等操作。

下面就介绍下ANSA二次开发 中最常用的几个能帮助你大大增加工作效率的显示操作

高亮操作

在ANSA中我们可以通过选择下面这个按钮,对特定的单元或实体进行高亮显示,那么使用python完成上述操作呢。

通过之前介绍Entity的文章,我们知道ANSA中基本你能看到的物体都可以称作是Entity

同样,高亮显示也是一个Entity,可以把这个Entity看作是一个容器,里面是不同的Entity的高亮显示

所以首先第一步,需要使用CreateEntity()创建HIGHTLIGHT_CONTAINER用来装不同的高亮显示

import ansa 
from ansa.base import *
from ansa import constants

deck = constants.OPTISTRUCT
def Hightlight(ent,color="RED",deck = constants.OPTISTRUCT):
	highlight = CreateEntity(deck,"HIGHLIGHT_CONTAINER")

	AddToHighlight(highlight, ent, color)

再有了这个容器后,我们将所要高亮显示的Entity用AddToHighlight()这个函数进行高亮显示,高亮现实的颜色可以选择:

BLACK, RED, GREEN, BLUE, CYAN, YELLOW, BROWN,LIGHT_BROWN, GRAY, LIGHT_BLUE, LIGHT_GREEN, LIGHT_CYAN, LIGHT_RED, LIGHT_MAGENTA,MAGENTA, WHITE

import ansa 
from ansa.base import *
from ansa import constants

deck = constants.OPTISTRUCT
def Hightlight(ent,color="RED",deck = constants.OPTISTRUCT):
	highlight = CreateEntity(deck,"HIGHLIGHT_CONTAINER")

	AddToHighlight(highlight, ent, color)

shells = CollectEntities(deck, None, "SHELL")[0:500]
RemoveHighLight(shells)

效果如下图

这里高亮会一直存在,如果想要取消高亮,则需要借助RemoveFromHighLight()这个函数。我们通过CollectEntities()将所有的HIGHTLIGHT_CONTAINER中高亮的该Entities取消高亮。

import ansa 
from ansa.base import *
from ansa import constants

deck = constants.OPTISTRUCT
def Hightlight(ent,color="RED",deck = constants.OPTISTRUCT):
	highlight = CreateEntity(deck,"HIGHLIGHT_CONTAINER")

	AddToHighlight(highlight, ent, color)

def RemoveHighLight(ent,deck = constants.OPTISTRUCT):
	container = CollectEntities(deck,None,"HIGHLIGHT_CONTAINER")
	for i in container:
		RemoveFromHighlight(i,ent)
shells = CollectEntities(deck, None, "SHELL")[0:5000]

RemoveHighLight(shells)

除了上述操作还可以通过GetHighlightColor(container,ent)来查看在该容器内ent的高亮颜色

通过GetHighlightContainerContents(container)将HIGHTLIGHT_CONTAINER中所有的Entity组成的列表

隐藏、显示操作

在进行建模 时,有时由于部件过多,为了提高操作效率,通常会针对某一个部件进行单独显示,或者隐藏某一些部件

这里提供给大家几个非常好用的隐藏、单独显示Entity的二次开发命令

Or(entities, deck, keyword, id, apply_on_contents) 单独显示Entities

  • entities:需要隐藏Entity组成的列表。可以缺省,但是前提是keyword和id被赋予参数
  • deck (optional) : 在那个求解器下显示
  • keyword (optional) :与后面的id参数共同使用,指明单独显示的Entity的id (e.g. "PSHELL").
  • id (optional):可以是单独一个id或者id组成的列表
  • apply_on_contents boolean (optional): 是否将显示聚集在选择的Entities上,默认为是

And(entities, deck, keyword, id, apply_on_contents) 使选择的Entities显示

这个函数和Or()不同的是,Or()是只显示选择的Entities,而And()是把选择的Entities添加到屏幕显示

  • 参数参照Or()

Not(entities, deck, keyword, id, apply_on_contents) 隐藏选择的Entities

  • 参数参照Or()

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空