CST宏帮助.docx

上传人:b****6 文档编号:7600513 上传时间:2023-05-11 格式:DOCX 页数:18 大小:24.20KB
下载 相关 举报
CST宏帮助.docx_第1页
第1页 / 共18页
CST宏帮助.docx_第2页
第2页 / 共18页
CST宏帮助.docx_第3页
第3页 / 共18页
CST宏帮助.docx_第4页
第4页 / 共18页
CST宏帮助.docx_第5页
第5页 / 共18页
CST宏帮助.docx_第6页
第6页 / 共18页
CST宏帮助.docx_第7页
第7页 / 共18页
CST宏帮助.docx_第8页
第8页 / 共18页
CST宏帮助.docx_第9页
第9页 / 共18页
CST宏帮助.docx_第10页
第10页 / 共18页
CST宏帮助.docx_第11页
第11页 / 共18页
CST宏帮助.docx_第12页
第12页 / 共18页
CST宏帮助.docx_第13页
第13页 / 共18页
CST宏帮助.docx_第14页
第14页 / 共18页
CST宏帮助.docx_第15页
第15页 / 共18页
CST宏帮助.docx_第16页
第16页 / 共18页
CST宏帮助.docx_第17页
第17页 / 共18页
CST宏帮助.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

CST宏帮助.docx

《CST宏帮助.docx》由会员分享,可在线阅读,更多相关《CST宏帮助.docx(18页珍藏版)》请在冰点文库上搜索。

CST宏帮助.docx

CST宏帮助

变量定义

DimsAsString(字符串)

DimdAsDouble(双精度)

DimiAsInteger(整数)

DimjAsLong(长数据)

也可以用字符来代替数据类型,分别对应如下:

DimsAsString

Dims$

DimdAsDouble

Dimd#

DimiAsInteger

DimI%

DimjAsLong

Dimj&

语言

StoreParameter(“width”,20)%%更改参数

 MsgBoxCStr(d1)%%数据类型转换。

这里函数CStr()用于将给定的参数转换为字符串数据类型(ConvertintoString)。

另一个相当常见的转换函数是CDbl()。

Evaluate(),将数据转换为双精度类型

Setword=CreateObject("Word.Application"),Setppt=CreateObject("PowerPoint.Application")脚本访问相应外部对象(Word和PPT或者其他)。

以下代码段显示了如何从使用VBA的外部程序启动和控制CSTMICROWAVESTUDIO:

SubMain()

    DimstudioAsObject

    Setstudio=CreateObject("CSTStudio.Application")

 

    DimmwsAsObject

    Setmws=studio.NewMWS

 

    DimbrickAsObject

    Setbrick=mws.brick

    brick.Name"brick"

    brick.Xrange0,1

    brick.Yrange0,1

    brick.Zrange0,1

    brick.Create

 

    mws.SaveAs"C:

\temp\test.cst",False

    mws.Quit

 

    Setstudio=Nothing

EndSub

通过使用With-EndWith块可以简化对象方法的访问,如下面的示例所示:

SubMain()

    DimstudioAsObject

    Setstudio=CreateObject("CSTStudio.Application")

 

    Withstudio.NewMWS

 

        With.Brick

           .Name"brick"

           .Xrange0,1

           .Yrange0,1

           .Zrange0,1

           .Create

        EndWith

 

        .SaveAs"C:

\temp\test.cst",False

        .Quit

 

    EndWith

 

    Setstudio=Nothing

EndSub

 文件操作

从VBA脚本访问文件相当简单。

打开用于读取或写入的文件后,可以为其分配编号的流,然后可以使用该流来访问该文件。

这在下面的例子中显示:

DimslineasString

 

Open"mydata.txt"ForInputAs#1

      WhileNotEOF

(1)

      LineInput#1,sline

      Debug.Printsline

Wend

Close#1

 

Open"mydata.txt"ForOutputAs#2

       Print#2,"TestOutput"

Close#2

 

Open"mydata.txt"ForAppendAs#3

       Print#3,"TestOutput2"

Close#3

HowtousetheVBAObjects

从外部程序中调用CST

以下示例代码可以在外部应用程序(如电子表格或字处理器)的VBA解释器中输入。

它创建一个CSTSTUDIOSUITE应用程序对象,打开一个项目并创建一个砖块:

SubMain()

DimstudioAsObject

 

'Starts CSTSTUDIOSUITE

Setstudio=CreateObject("CSTStudio.Application")

 

DimprojAsObject

Setproj=studio.NewMWS

 

DimbrickAsObject

Setbrick=proj.brick

 

brick.Reset

brick.Name"BrickOne"

brick.Xrange"0","1"

brick.Yrange"0","2"

brick.Zrange"0","4"

brick.Create

 

proj.SaveAs"C:

\temp\test.cst",False

proj.Quit

 

Setstudio=Nothing

EndSub

打开内置VBA解释器中的项目

此示例从内置VBA解释器打开项目:

OpenFile("c:

\Examples\thebrick.cst")

WithBrick

.Reset

.Name"BrickOne"

.Layer"default"

.Xrange"0","1"

.Yrange"0","2"

.Zrange"0","4"

.Create

EndWith

FarfieldArrayObject

基于单个天线元素定义远场图的天线阵列模式。

.

Methods

Reset

将所有内部设置重置为其初始值。

UseArray( bool bFlag )

激活远场计算的数组模式。

Arraytype( enum type )

设置阵列模式的类型。

type可以具有以下值之一:

”rectangular”

可以使用方法XSet,YSet和ZSet通过设置相应的天线编号以及空间和相移信息来定义矩形阵列图案(线性:

1D,平面:

2D,立方体:

3D)。

然后通过SetList计算结果列表。

如果晶胞或周期性边界有效,阵列设置自动使用晶胞几何和定相。

”edit”

此模式通过使用方法天线将单个天线元素添加到列表中来编辑当前天线。

 XSet( int  number, double spaceshift, double phaseshift )

YSet( int  number, double spaceshift, double phaseshift )

ZSet( int  number, double spaceshift, double phaseshift )

在x,y或z方向分别定义线性阵列模式。

因此,可以创建线性,平面或立方体天线阵列结构。

 number

单个天线单元在x,y或z方向上的数量

spaceshift

在x,y或z方向上的两个单个天线元件之间的恒定空间移位

phaseshift

在x,y或z方向上的两个单个天线元件之间的恒定相移

 SetList

根据指定的阵列配置计算单个天线元件的完整列表,并将这些设置传输到farfield绘图仪。

 

DeleteList

删除定义阵列模式的单个天线元素的当前列表。

 

Antenna( double x, double y, double z, double amplitude, double phase )

定义单个天线元件的属性。

此方法仅适用于由Arraytype设置的编辑模式。

 

x

空间中单个天线元件的x位

y

空间中单个天线元件的y位置

z

空间中单个天线元件的z位置

amplitude

单个天线元件的振幅值

phase

单个天线元件的相位值

 AddAntennaItem(  sfile, double x, double y, double z, double alpha, double beta, double gamma, double A, double phase)

从sfile加载天线farfield并将其添加到组合列表。

AddAntennaItemA(  sfile, double x, double y, double z, double z1, double z2, double z3, double x1, double x2, double x3, double A, double phase)

该命令类似于AddAntennaItem,但方向由天线框架z轴和x轴在全局坐标中指定。

下表总结了天线参数:

 

x,y,z

天线在空间中的位置

alpha,beta,gamma

欧拉角中天线的方向

z1,z2,z3

天线框架在全局坐标系中的z轴

x1,x2,x3

天线框架在全局坐标系中的x轴

A

天线发射的幅度

Phase

 天线发射的相位

 

ClearAntennaItems

清除天线组合列表。

 SetNormalizeAntennas( bool bflag )

在执行组合命令之前,激活所有天线的归一化到1W(峰值)激励功率。

用户指定的幅度应用于缩放的远场。

SetCombineFrequency( double  frequency )

设置组合天线的频率。

组合列表中的所有天线必须具有相同的频率,否则天线的一致组合是不可能的。

SetCombineReferenceAxes( double z1, double z2, double z3, double x1, double x2, double x3 )

设置组合天线的theta参考轴(z1,z2,z3)和phi参考轴(x1,x2,x3)。

 SetCombineReferenceOrigin( double p1, double p2, double  p3 )

设置组合天线的相位参考原点(p1,p2,p3)。

ExecuteCombine(  sfile, double stepInDegree )

将组合列表中的所有天线合并到单个天线。

新的天线数据通过stepInDegree采样并写入sfile。

不对组合字段应用进一步的缩放。

Queries(查询)

GetCombinePowerRatio double

返回实际发射功率与来自组合列表的所有天线的集成输入功率的比率。

与单位的强偏差表示天线的不可忽略的相互作用。

DefaultSettings

UseArray(False)

Arraytype("rectangular")

XSet(1,0.0,0.0)

YSet(1,0.0,0.0)

ZSet(1,0.0,0.0)

SetCombineFrequency(-1.0)

SetCombineReferenceAxes(0,0,1,1,0,0)

SetCombineReferenceOrigin(0,0,0)

SetNormalizeAntennas(True)

Example

Thefirstexampledefinesalinearantennaarray:

 

 WithFarfieldArray

    .Reset

    .UseArray(True)

    .Arraytype("rectangular")

    .ZSet(2,2.5,90)

    .SetList

    .Arraytype("edit")

    .Antenna(0,0,0,1.0,0.0)

 EndWith

 

Thesecondexamplecombinestwoantennaswithdifferentorientationandposition:

 WithFarfieldArray

ResultPath=GetProjectPath("Result")                'Assumethatthefarfieldfilesareintheresultfolder

.ClearAntennaItems()

.SetCombineFrequency(100.0)

.AddAntennaItem(ResultPath+"farfield_1.ffp",0.0,-1.0,0.0,0,  0,30.0,1.0,90.0)

.AddAntennaItem(ResultPath+"farfield_2.ffp",0.0, 1.0,0.0,0,-30, 0.0,1.0, 0.0)

.ExecuteCombine(ResultPath+"combined_ff.ffp",5.0) 'Storethecombinedantennaintheresultfolder

MsgBox"ActualPower/PowerSum="&.GetCombinePowerRatio()

EndWith

 

Thethirdexamplecombinesantennastoafinite-sizearrayofunitcellswithseventimessevenelements:

 

WithFarfieldArray

.SetCombineFrequency(100.0)

.SetNormalizeAntennas(False)

.SetUnitCellArray("farfield_1.ffp",7,7)

.ExecuteCombine("combined_ff.ffp",5.0)

EndWith

 

 

Theforthexamplesetsthefarfieldorigin:

 

NewOriginX=-100

NewOriginY=300

NewOriginZ=400

 

Frequency=30.0

 

MonitorName="farfield(f=30)"

 

WithFarfieldArray

ResultPath=GetProjectPath("Result")

.ClearAntennaItems()

.SetCombineFrequency(Frequency)

.AddAntennaItemA(ResultPath+MonitorName+"2D_1.ffp",0,0,0,0,0,1,1,0,0,1,0)

.SetCombineReferenceOrigin(NewOriginX,NewOriginY,NewOriginZ)

.ExecuteCombine(ResultPath+"MovedOrigin.ffp",1.0)

EndWith

 

'Addtoresulttree

WithResultTree

.Name"Farfields\MovedOrigin"

.+"MovedOrigin.ffp"

.Type"Farfield"

.Add

EndWith

CATIAObject

ImportCATIAV4andCATIAV5files.

Methods

Reset

将导入选项重置为默认。

(   )

设置导入文件名。

CatiaVersion( int version )

设置文件catia版本。

版本4和5是有效的选项。

Version( double version )

设置导入过滤器的版本,因为导入过程可能会随版本而略有变化。

此设置可用于向后兼容性原因,并应确保导入的更高版本可以准确再现早期版本的行为。

导入的最新版本为10.0。

Id( int id )

CAD文件可以多次导入具有不同导入选项设置的同一项目。

为了提高结构重建的性能,在导入过程中存储中间sat文件,这允许在重建期间快速重新读取数据,以防原始CAD文件未被修改。

中间sat文件的命名约定对于每个单独的导入步骤必须是唯一的。

因此,如果同一文件被多次导入或者同名文件导入到项目中,则需要增加Id设置。

然后将该ID合并到文件名中,以确保每次导入的唯一文件名

Healing( bool switch )

如果设置为True,则在导入期间,未对齐的顶点或边缘将被修复。

ScaleToUnit( bool switch )

如果设置为True,导入的模型将缩放到当前设置单位。

如果未设置,则导入功能使用源单位。

在这种情况下,不发生缩放。

ImportToActiveCoordinateSystem( bool switch )

相对于活动坐标系导入CAD数据。

Curves( bool  switch )

标识是否应将曲线作为曲线或实体导入。

 

ImportAttributes( bool  switch )

标识是否应从导入文件中读取实体名称,材料名称和材料颜色等属性。

仅与CATIA5导入文件组合使用。

 

ImportCurveAttributes( bool  switch )

标识是否应从导入文件中读取诸如曲线名称的属性。

仅与CATIA5导入文件组合使用。

Read

开始导入文件。

DefaultSettings

("")

Version(4)

Healing(True)

ImportToActiveCoordinateSystem(False)

ImportCurves(True)

ImportAttributes(True)

Example

WithCATIA

    .Reset

    .(".\example.model")

    .Healing(True)

    .ImportToActiveCoordinateSystem(False)

    .ImportCurves(True)

    .ImportAttributes(True)

    .Read   

EndWith

AsymptoticSolverObject

此对象控制渐近高频解算器。

使用“start”命令运行解算器。

.

AsymptoticSolverGeneral

SetSolverType( enum{"SBR","SBR_RAYTUBES"} type )

此选择指定求解程序是使用独立光线(SBR)还是使用射线管(SBR_RAYTUBES)。

独立射线通常对于复杂几何形状更加强劲,但是对于大的和相对平滑的物体,射线管解算器的性能在较高频率下更好。

 

SetSolverMode( enum{"MONOSTATIC_SCATTERING","BISTATIC_SCATTERING","FIELD_SOURCES","RANGE_PROFILES"} type )

此选择指定求解程序是以单站或双站,场源或范围轮廓模式运行。

对于单站计算,观察角度与激发角度相同。

因此,对于这种模式,只需要规定观测角扫描。

对于双站计算,激发角和观察角不需要相同。

因此,当解算器用于双基模式时,需要定义附加的激励角扫描。

对于场源计算,不需要入射平面波,因此观察角扫描的定义是足够的。

范围轮廓模式使用与单静态模式类似的观察角定义,但仅支持单点或单角扫描。

在单个观察点定义的情况下,计算一维范围轮廓,而对于二维扫面定义,将产生正弦图(范围对角度)。

 

SetAccuracyLevel( enum{"LOW","MEDIUM","HIGH","CUSTOM"} type )

此设置允许您从预定义的精度配置中选择,如低,中或高。

低精度意味着模拟设置将针对快速模拟进行优化,而高精度意味着为获得非常精确的结果。

通常,中精度默认值提供了精度和模拟速度之间的良好折衷。

除了这些默认配置,您还可以选择自定义,它允许通过使用详细的求解器控制选项指定更详细的求解器选项。

 

ResetPolarizations

重置当前激励极化列表。

 

AddHorizontalPolarization( double value )

此方法允许您向激励列表中添加新的水平极化平面波。

以V/m为平面波电场矢量的振幅大小。

 

AddVerticalPolarization( double value )

此方法允许您向激励列表中添加新的垂直极化平面波。

以V/m为平面波电场矢量的振幅大小。

AddLHCPolarization( double value )

此方法允许您向激励列表中添加新的左旋圆极化平面波。

以V/m为平面波电场矢量的振幅大小。

AddRHCPolarization( double value )

此方法允许您向激励列表中添加新的右旋圆极化平面波。

以V/m为平面波电场矢量的振幅大小。

AddCustomPolarization( double ethetare, double ethetaim, double ephire, double ephiim)

此方法允许您将新的自定义极化添加到激励列表。

以V/m为平面波电场矢量的振幅大小。

 

SetSolverMaximumNumberOfReflections( int value )

此参数指定将被用于光线跟踪计算的光线反射的最大数量。

 

StorePOResults( bool flag)

此选项控制除了包括所有多重反射和衍射效应的总远场之外是否计算一阶PO远场。

比较两组结果可用于检查高阶效应对解的影响。

此选项仅适用于单站和双站模式

SetSolverRangePro( double value )

此方法允许您指定频率是范围和正弦图计算的中心频率。

请注意,此设置仅对范围配置的计算模式有效。

SetSolverRangePro( bool flag )

此方法允许您指定是否自动确定范围扩展或带宽设置,或者采用相应方法设置的值是否被taken。

请注意,此设置仅范围配置的计算模式有效。

 

SetSolverRangePro(  int value )

此方法允许您指定范围或正弦图计算的光谱采样数。

该值需要大于2的幂或者等于16。

请注意,此设置仅对范围配置的计算模式有效。

 

SetSolverRangePro(  enum{"RECTANGULAR","HANNING","HAMMING","BLACKMAN"} type )

此方法允许您指定用于计算范围配置或正弦图的谱窗函数。

请注意,此设置仅对范围配置计算模式有效。

SetSolverRangePro(  enum{"RANGE_EXTEND","BANDWIDTH"} type )

此方法允许您指定是通过指定最大

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2