2022年8月23日 星期二

3D Layout Cutout Example Code

因為目前PyAEDT 3DLayout沒有cutout功能,我仿EDB做了一個。可以不用開啟GUI完成切圖的工作,以下為範例碼。

from pyaedt import Hfss3dLayout, Circuit

hfss = Hfss3dLayout(specified_version='2022.2', non_graphical=True)
hfss.import_brd('d:/demo/Galileo_G87173_204.brd')


def cutout(hfss, signal_list=[], reference_list=['GND'], extent_type='Conforming', expansion_size=0.002,
use_round_corner=False):
x = []
for i in signal_list:
x += ["net:=", [i, False]]
for i in reference_list:
x += ["net:=", [i, True]]

hfss.modeler.oeditor.CutOutSubDesign(
[
"NAME:Params",
"Name:=" , "Test_cutout",
"CleanupFactor:=" , 0.05,
"AutoGenExtent:=" , True,
"Type:=" , extent_type,
"Expansion:=" , str(expansion_size),
"RoundCorners:=" , use_round_corner,
"Increments:=" , 1,
"UseSelection:=" , False,
"ExtentSel:=" , [],
[
"NAME:Nets",
] + x
])

cutout(hfss, ['M_DQ<0>', 'M_DQ<1>'], ['GND'], 'Conforming', '2mm')

hfss.save_project('d:/demo/test13.aedt')
hfss.close_desktop()




沒有留言:

張貼留言

EDB建立PinGroup

為U2A5建立GND PinGroup,儲存之後匯入EDB from pyaedt import Edb edb = Edb(edbpath= r"D:\demo\Galileo_G87173_20454.aedb" , edbversion= '20...