diff --git a/_unittest/example_models/Coordinate_System.aedt b/_unittest/example_models/Coordinate_System.aedt new file mode 100644 index 00000000000..eb5623bd954 --- /dev/null +++ b/_unittest/example_models/Coordinate_System.aedt @@ -0,0 +1,1268 @@ +$begin 'AnsoftProject' + Created='Mon Feb 7 10:28:30 2022' + Product='ElectronicsDesktop' + FileOwnedByWorkbench=false + $begin 'Desktop' + Version(2021, 2) + InfrastructureVersion(1, 0) + $begin 'FactoryHeader' + $end 'FactoryHeader' + $end 'Desktop' + UsesAdvancedFeatures=false + NextUniqueID=0 + MoveBackwards=false + $begin 'HFSSEnvironment' + Version(1, 0) + $end 'HFSSEnvironment' + $begin 'PlanarEMEnvironment' + Version(1, 0) + $end 'PlanarEMEnvironment' + $begin 'Q3DEnvironment' + Version(1, 0) + $end 'Q3DEnvironment' + $begin '2DExtractorEnvironment' + Version(1, 0) + $end '2DExtractorEnvironment' + $begin 'NexximEnvironment' + Version(1, 0) + $end 'NexximEnvironment' + $begin 'NexximNetlistEnvironment' + Version(1, 0) + $end 'NexximNetlistEnvironment' + $begin 'EmitEnvironment' + Version(1, 0) + $end 'EmitEnvironment' + $begin 'Maxwell3DEnvironment' + Version(1, 0) + $end 'Maxwell3DEnvironment' + $begin 'Maxwell2DEnvironment' + Version(1, 0) + $end 'Maxwell2DEnvironment' + $begin 'RMxprtEnvironment' + Version(1, 0) + $end 'RMxprtEnvironment' + $begin 'MaxCirEnvironment' + Version(1, 0) + $end 'MaxCirEnvironment' + $begin 'SimplorerEnvironment' + Version(1, 0) + $end 'SimplorerEnvironment' + $begin 'IcepakEnvironment' + Version(1, 0) + $end 'IcepakEnvironment' + $begin 'MechanicalEnvironment' + Version(1, 0) + $end 'MechanicalEnvironment' + $begin 'FilterDesignEnvironment' + $end 'FilterDesignEnvironment' + $begin 'SchematicEnvironment' + Version(1, 0) + $end 'SchematicEnvironment' + $begin 'geometry3deditor' + Version(1, 0) + $end 'geometry3deditor' + ReadVersion=9 + $begin 'DesignMgrEnvironment' + CompInstCounter=1 + GPortCounter=0 + NetCounter=0 + Alias('Ieee;Simplorer Elements\\Ieee', 'Std;Simplorer Elements\\Std', 'Basic_VHDLAMS;Simplorer Elements\\Basic Elements VHDLAMS\\Basic Elements VHDLAMS', 'Digital_Elements;Simplorer Elements\\Digital Elements\\Digital Elements', 'Transformations;Simplorer Elements\\Tools\\Transformations\\Transformations', 'HEV_VHDLAMS;Simplorer Elements\\HEV VHDLAMS\\HEV VHDLAMS', 'automotive_vda;Simplorer Elements\\VDALibs VHDLAMS\\automotive_vda', 'example_boardnet;Simplorer Elements\\VDALibs VHDLAMS\\example_boardnet', 'example_ecar;Simplorer Elements\\VDALibs VHDLAMS\\example_ecar', 'fundamentals_vda;Simplorer Elements\\VDALibs VHDLAMS\\fundamentals_vda', 'hybrid_emc_vda;Simplorer Elements\\VDALibs VHDLAMS\\hybrid_emc_vda', 'megma;Simplorer Elements\\VDALibs VHDLAMS\\megma', 'modelica_rotational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_rotational', 'modelica_thermal;Simplorer Elements\\VDALibs VHDLAMS\\modelica_thermal', 'modelica_translational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_translational', 'spice2vhd;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd', 'spice2vhd_devices;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd_devices', 'aircraft_electrical_vhdlams;Simplorer Elements\\Aircraft Electrical VHDLAMS\\Aircraft Electrical VHDLAMS', 'power_system_vhdlams;Simplorer Elements\\Power System VHDLAMS\\Power System VHDLAMS') + $end 'DesignMgrEnvironment' + $begin 'ProjectDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='ProjectDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'ProjectDatasets' + VariableOrders[0:] + $begin 'Definitions' + $begin 'Folders' + Definitions(1604, 10000, 1, 1, 0, false, false) + Materials(1604, 9500, 9, 2, 1, false, false) + 'Surface Materials'(1604, 9501, 33503, 3, 1, false, false) + Scripts(1604, 9502, 33500, 4, 1, false, false) + Padstacks(1604, 9003, 12, 105, 1, false, false) + Symbols(1604, 9001, 10, 103, 1, false, false) + Footprints(1604, 9002, 11, 104, 1, false, false) + Bondwires(1604, 9006, 12, 108, 1, false, false) + Components(1604, 9000, 8, 102, 1, false, false) + Models(1604, 9004, 13, 106, 1, false, false) + Packages(1604, 9005, 33502, 107, 1, false, false) + $end 'Folders' + $begin 'Materials' + $begin 'vacuum' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Electromagnetic') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=230 + Green=230 + Blue=230 + Transparency=0.949999988079071 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + ModTime=1499970477 + Library='Materials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'vacuum' + $end 'Materials' + $begin 'SurfaceMaterials' + $end 'SurfaceMaterials' + $begin 'Scripts' + $end 'Scripts' + $begin 'Symbols' + $begin 'HFSSDesign1' + ModTime=1644225920 + Library='' + ModSinceLib=false + LibLocation='Project' + HighestLevel=1 + Normalize=true + InitialLevels(0, 1) + $begin 'Graphics' + Rect(0, 0, 0, 0, 0.00254, 0.00254, 0.00508, 0.00508, 0, 0, 0) + Rect(0, 1, 0, 0, 0.000423333333333333, 0.00254, 0.000423333333333333, 0.000423333333333334, 0, 0, 0) + $end 'Graphics' + $end 'HFSSDesign1' + $end 'Symbols' + $begin 'DefInfo' + HFSSDesign1(1002, 0, 0, 0, '', 1644225920, '', 'HFSSDesign1', '', '', '', '', '', 'Design.bmp', '', 'Project', '', '', 1644225920, '', 0, 0) + $end 'DefInfo' + $begin 'Compdefs' + $begin 'HFSSDesign1' + Library='' + CircuitEnv=0 + Refbase='U' + NumParts=1 + ModSinceLib=true + $begin 'Properties' + TextProp('Representation', 'SRD', '', 'HFSSDesign1') + TextProp('Owner', 'SRD', '', 'HFSS') + $end 'Properties' + CompExtID=6 + $begin 'Parameters' + MenuProp('CoSimulator', 'D', '', 'DefaultNetlist', 0) + ButtonProp('CosimDefinition', 'D', '', '', 'Edit', 40501, ButtonPropClientData()) + $end 'Parameters' + $begin 'CosimDefinitions' + $begin 'CosimDefinition' + CosimulatorType=4 + CosimDefName='DefaultNetlist' + IsDefinition=true + Connect=true + Data() + GRef() + $end 'CosimDefinition' + DefaultCosim='DefaultNetlist' + $end 'CosimDefinitions' + $end 'HFSSDesign1' + $end 'Compdefs' + $end 'Definitions' + DesignIDServer=2 + MoveBackwards=false + $begin 'HFSSModel' + RepRewriteV2=true + Name='HFSSDesign1' + DesignID=0 + 'Use Advanced DC Extrapolation'=false + 'Use Power S'=false + 'Export After Simulation'=false + 'Allow Material Override'=false + 'Calculate Lossy Dielectrics'=false + 'Perform Minimal validation'=false + $begin 'TemperatureSettings' + IncludeTemperatureDependence=false + EnableFeedback=false + Temperatures(6, '22cel', 42, '22cel') + $end 'TemperatureSettings' + ObjsEnabledForDeformation() + 'Port Validation Settings'='Standard' + 'Save Adaptive support files'=false + SolutionType='DrivenModal' + $begin 'DrivenOptions' + WithHybridAndArrays=false + AutoOpen=false + $end 'DrivenOptions' + MaterialDensity=1 + MassOfTissue=1 + VoxelSize=1 + TissueObjectList=-1 + AverageSarMethod=0 + UseAutoDCThickness=true + HaveZwaveSupport=true + $begin 'OutputVariable' + NextUniqueID=0 + MoveBackwards=false + $end 'OutputVariable' + $begin 'CableSetup' + $begin 'CableManager' + CableNextUniqueID=1000 + MoveBackwards=false + Version(1, 0) + $begin 'TDSources' + $end 'TDSources' + $begin 'Definitions' + $end 'Definitions' + $begin 'Harneses' + $end 'Harneses' + $begin 'HarnResults' + $end 'HarnResults' + $end 'CableManager' + $end 'CableSetup' + $begin 'ModelSetup' + $begin 'DesignDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='DesignDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'DesignDatasets' + $begin 'Properties' + VariableProp('a', 'UD', '', '0.4mm') + $end 'Properties' + VariableOrders[1: 'a'] + $begin 'Editor3D Doc Preferences' + 'Plane Background'=true + BackgroundColor1=16777215 + BackgroundColor2=0 + 'Need Lights'=true + 'Ambient Light'=9671571 + 'Num Lights'=4 + Light0[4: 6710886, 0, -1, -0.150000005960464] + Light1[4: 6710886, -0.600000023841858, 0.100000001490116, -0.5] + Light2[4: 6710886, 0.5, 0.100000001490116, -0.5] + Light3[4: 6710886, 0.200000002980232, 0.400000005960464, 1] + Ver=2 + $end 'Editor3D Doc Preferences' + SnapMode=31 + WorkingCS=88 + $begin 'GeometryCore' + BlockVersionID=3 + DataVersion=4 + NativeKernel='ACIS' + NativeKernelVersionID=13 + Units='mm' + InstanceID=-1 + $begin 'ValidationOptions' + EntityCheckLevel='Strict' + IgnoreUnclassifiedObjects=false + SkipIntersectionChecks=false + $end 'ValidationOptions' + $begin 'GeometryOperations' + BlockVersionID=2 + $begin 'AnsoftRangedIDServerManager' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=0 + IDServerRangeMin=0 + IDServerRangeMax=2146483647 + NextUniqueID=92 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=1 + IDServerRangeMin=2146483648 + IDServerRangeMax=2146485547 + NextUniqueID=2146483654 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $end 'AnsoftRangedIDServerManager' + StartBackGroundFaceID=2146483648 + $begin 'CoordinateSystems' + $begin 'Operation' + OperationType='CreateFaceCoordinateSystem' + ID=34 + $begin 'FaceCSFromParameters' + KernelVersion=13 + $end 'FaceCSFromParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='FaceCS1' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=35 + PlaceHolderOperationID=33 + $end 'Operation' + $begin 'Operation' + OperationType='CreateFaceCoordinateSystem' + ID=71 + $begin 'FaceCSFromParameters' + KernelVersion=13 + $end 'FaceCSFromParameters' + ParentPartID=42 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='FaceCS2' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=72 + PlaceHolderOperationID=70 + $end 'Operation' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=75 + ReferenceCoordSystemID=1 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Axis/Position' + OriginX='-1.2mm' + OriginY='1.6mm' + OriginZ='0mm' + XAxisXvec='1.2mm' + XAxisYvec='0.8mm' + XAxisZvec='0mm' + YAxisXvec='0mm' + YAxisYvec='0.6mm' + YAxisZvec='0mm' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS1' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=76 + $end 'Operation' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=79 + ReferenceCoordSystemID=71 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Axis/Position' + OriginX='0mm' + OriginY='0mm' + OriginZ='0mm' + XAxisXvec='0.6mm' + XAxisYvec='-1mm' + XAxisZvec='0mm' + YAxisXvec='-0.2mm' + YAxisYvec='-1.4mm' + YAxisZvec='0mm' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS2' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=80 + $end 'Operation' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=83 + ReferenceCoordSystemID=75 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Axis/Position' + OriginX='-2.2mm' + OriginY='-1mm' + OriginZ='0mm' + XAxisXvec='1mm' + XAxisYvec='0mm' + XAxisZvec='0mm' + YAxisXvec='0mm' + YAxisYvec='1mm' + YAxisZvec='0mm' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS3' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=84 + $end 'Operation' + $begin 'Operation' + OperationType='CreateFaceCoordinateSystem' + ID=88 + $begin 'FaceCSFromParameters' + KernelVersion=13 + $end 'FaceCSFromParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='FaceCS3' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=89 + PlaceHolderOperationID=87 + $end 'Operation' + $end 'CoordinateSystems' + $begin 'OperandCSs' + $end 'OperandCSs' + $begin 'SubModelDefinitions' + $end 'SubModelDefinitions' + $begin 'Groups' + $end 'Groups' + $begin 'UserDefinedModels' + $end 'UserDefinedModels' + $begin 'OperandUserDefinedModels' + $end 'OperandUserDefinedModels' + $begin 'ToplevelParts' + $begin 'GeometryPart' + $begin 'Attributes' + Name='Box1' + Flags='' + Color='(143 175 143)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='"vacuum"' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + IsMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'Operations' + $begin 'Operation' + OperationType='Box' + ID=5 + ReferenceCoordSystemID=1 + $begin 'BoxParameters' + KernelVersion=13 + XPosition='0mm' + YPosition='0mm' + ZPosition='0mm' + XSize='1mm' + YSize='0.8mm' + ZSize='0.8mm' + $end 'BoxParameters' + ParentPartID=6 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=6 + StartFaceID=7 + StartEdgeID=13 + StartVertexID=25 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + $end 'Operation' + $begin 'FaceCSHolderOperation' + OperationType='FaceCSPlaceHolder' + ID=33 + $begin 'FaceCSParameters' + KernelVersion=13 + PartID=6 + $begin 'Origin' + IsAttachedToEntity=true + EntityID=30 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnVertex' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'Origin' + MoveToEnd=true + FaceID=12 + $begin 'AxisPosn' + IsAttachedToEntity=true + EntityID=29 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnVertex' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'AxisPosn' + WhichAxis='X' + ZRotationAngle='0deg' + XOffset='0mm' + YOffset='0mm' + AutoAxis=false + $end 'FaceCSParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $end 'FaceCSHolderOperation' + $begin 'FaceCSHolderOperation' + OperationType='FaceCSPlaceHolder' + ID=87 + $begin 'FaceCSParameters' + KernelVersion=13 + PartID=6 + $begin 'Origin' + IsAttachedToEntity=true + EntityID=25 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnVertex' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'Origin' + MoveToEnd=false + FaceID=7 + $begin 'AxisPosn' + IsAttachedToEntity=true + EntityID=7 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='FaceCenter' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'AxisPosn' + WhichAxis='X' + ZRotationAngle='0deg' + XOffset='0mm' + YOffset='0mm' + AutoAxis=false + $end 'FaceCSParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $end 'FaceCSHolderOperation' + $end 'Operations' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='Box2' + Flags='' + Color='(143 175 143)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='"vacuum"' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + IsMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'Operations' + $begin 'Operation' + OperationType='Box' + ID=41 + ReferenceCoordSystemID=1 + $begin 'BoxParameters' + KernelVersion=13 + XPosition='-1mm' + YPosition='-2.8mm' + ZPosition='0mm' + XSize='0.6mm' + YSize='0.8mm' + ZSize='-0.6mm' + $end 'BoxParameters' + ParentPartID=42 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=42 + StartFaceID=43 + StartEdgeID=49 + StartVertexID=61 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + $end 'Operation' + $begin 'FaceCSHolderOperation' + OperationType='FaceCSPlaceHolder' + ID=70 + $begin 'FaceCSParameters' + KernelVersion=13 + PartID=42 + $begin 'Origin' + IsAttachedToEntity=true + EntityID=48 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnFace' + UParam=0.531490753094327 + VParam=0.375138685107232 + XPosition='-1000mm' + YPosition='-1899.88905191422mm' + ZPosition='-281.105548143404mm' + $end 'Origin' + MoveToEnd=false + FaceID=48 + $begin 'AxisPosn' + IsAttachedToEntity=true + EntityID=48 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnFace' + UParam=0.513296021355514 + VParam=0.669226710995039 + XPosition='-1000mm' + YPosition='-1664.61863120397mm' + ZPosition='-292.022387186692mm' + $end 'AxisPosn' + WhichAxis='X' + ZRotationAngle='0deg' + XOffset='0mm' + YOffset='0mm' + AutoAxis=false + $end 'FaceCSParameters' + ParentPartID=42 + ReferenceUDMID=-1 + $end 'FaceCSHolderOperation' + $end 'Operations' + $end 'GeometryPart' + $end 'ToplevelParts' + $begin 'OperandParts' + $end 'OperandParts' + $begin 'Planes' + $end 'Planes' + $begin 'Points' + $end 'Points' + $begin 'GeometryEntityLists' + $end 'GeometryEntityLists' + $begin 'CachedNames' + $begin 'allobjects' + allobjects(-1) + $end 'allobjects' + $begin 'box' + box(1, 2) + $end 'box' + $begin 'facecs' + facecs(1, 2, 3) + $end 'facecs' + $begin 'global' + global(-1) + $end 'global' + $begin 'model' + model(-1) + $end 'model' + $begin 'relativecs' + relativecs(1, 2, 3) + $end 'relativecs' + $end 'CachedNames' + $end 'GeometryOperations' + $begin 'GeometryDependencies' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 5) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 33) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 87) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 41) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 70) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=2 + DependencyObject('CoordinateSystem', 34) + DependencyObject('GeometryOperation', 33) + DependencyObject('GeometryBodyOperation', 5) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=2 + DependencyObject('CoordinateSystem', 71) + DependencyObject('GeometryOperation', 70) + DependencyObject('GeometryBodyOperation', 41) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 75) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 79) + DependencyObject('CoordinateSystem', 71) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 83) + DependencyObject('CoordinateSystem', 75) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=2 + DependencyObject('CoordinateSystem', 88) + DependencyObject('GeometryBodyOperation', 5) + DependencyObject('GeometryOperation', 87) + $end 'DependencyInformation' + $end 'GeometryDependencies' + $end 'GeometryCore' + GroupByMaterial=true + GroupSheetByMaterial=true + GroupCompByDefID=true + DoNotOrganizeUnderGroup=false + DoNotOrganizeUnderComponent=false + OrganizeLightweight=false + ShowGroup=true + $begin 'LastUserInputs' + $end 'LastUserInputs' + $end 'ModelSetup' + $begin '3DComponent' + $begin 'NativeComponentVisualization' + $end 'NativeComponentVisualization' + $end '3DComponent' + $begin 'BoundarySetup' + $begin 'GlobalBoundData' + PortImpedance='1' + GlobalMaterialEnv='vacuum' + UseTotalFieldFormulation=false + HybridRegionCouplingType='TwoWayCoupled' + 'Current Source Conformance'='Auto' + 'Thin Sources'=false + $end 'GlobalBoundData' + $begin 'Boundaries' + NextUniqueID=0 + MoveBackwards=false + $end 'Boundaries' + $begin 'ProductSpecificData' + $begin 'SBRWedgeSettings' + MaxWedgeAngle='135deg' + IncludeSheetEdges=true + ApplySourceDistFilter=false + ApplyBoxFilter=false + $end 'SBRWedgeSettings' + $begin 'SBRTxRxSettings' + $end 'SBRTxRxSettings' + $begin 'SBRCreepingWaveSettings' + CWRaySampleDensity=10 + CWRayCutoffDb=40 + CWCurvatureSensitivity=50 + CWAngularRayInterval=2 + $end 'SBRCreepingWaveSettings' + $begin 'SBRBlockageSettings' + $end 'SBRBlockageSettings' + $begin 'PMLData' + $begin 'PMLGroups' + $end 'PMLGroups' + $end 'PMLData' + $begin 'SortOrder' + Port[1: -1] + Terminal[1: -1] + $end 'SortOrder' + 'Phase Center Mode'='SinglePhaseCenter' + 'Single Phase Center'=-1 + $end 'ProductSpecificData' + $end 'BoundarySetup' + $begin 'ArrayDefinition' + NextUniqueID=0 + MoveBackwards=false + $end 'ArrayDefinition' + $begin 'MeshSetup' + $begin 'MeshSettings' + $begin 'GlobalSurfApproximation' + CurvedSurfaceApproxChoice='UseSlider' + SliderMeshSettings=5 + $end 'GlobalSurfApproximation' + $begin 'GlobalCurvilinear' + Apply=false + $end 'GlobalCurvilinear' + $begin 'GlobalModelRes' + UseAutoLength=true + $end 'GlobalModelRes' + MeshMethod='Auto' + UseLegacyFaceterForTauVolumeMesh=false + DynamicSurfaceResolution=false + UseFlexMeshingForTAUvolumeMesh=false + UseAlternativeMeshMethodsAsFallBack=true + AllowPhiForLayeredGeometry=true + $end 'MeshSettings' + $begin 'MeshOperations' + NextUniqueID=0 + MoveBackwards=false + $end 'MeshOperations' + $end 'MeshSetup' + $begin 'AnalysisSetup' + $begin 'HfssGlobalData' + NextUniqueID=0 + MoveBackwards=false + $end 'HfssGlobalData' + $begin 'SolveSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'SolveSetups' + $end 'AnalysisSetup' + $begin 'Optimetrics' + $begin 'OptimetricsSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'OptimetricsSetups' + $end 'Optimetrics' + $begin 'Solutions' + FieldType='NoIncidentWave' + IncludePortPostProcessing=false + UseSpecifiedIncidentPower=false + $begin 'Contexts' + NextUniqueID=1 + MoveBackwards=false + $end 'Contexts' + $end 'Solutions' + $begin 'PortFieldDisplay' + $begin 'PortFieldDisplay' + ScaleFactor=5 + $end 'PortFieldDisplay' + $end 'PortFieldDisplay' + $begin 'FieldsReporter' + $begin 'FieldsCalculator' + Line_Discretization=1000 + $end 'FieldsCalculator' + $begin 'PlotDefaults' + Default_SolutionId=-1 + Default_PlotFolder='Automatic' + $end 'PlotDefaults' + $begin 'FieldsPlotManagerID' + NextUniqueID=0 + MoveBackwards=false + NumQuantityType=0 + NumPlots=0 + $end 'FieldsPlotManagerID' + $begin 'Report3dInGeomWnd' + Report3dNum=0 + $end 'Report3dInGeomWnd' + $begin 'Report2dInGeomWnd' + Report2dNum=0 + $end 'Report2dInGeomWnd' + $begin 'AntennaParametersInGeomWnd' + AntennaParametersNum=0 + $end 'AntennaParametersInGeomWnd' + AntennaParametersPlotTablesOrder() + $end 'FieldsReporter' + $begin 'RadField' + $begin 'FarFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'FarFieldSetups' + $begin 'ArraySetup' + UseOption='NoArray' + $begin 'RegularArray' + NumUCells='10' + NumVCells='10' + CellUDist='10mm' + CellVDist='10mm' + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + FirstCellPosX='0mm' + FirstCellPosY='0mm' + FirstCellPosZ='0mm' + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'RegularArray' + $begin 'CustomArray' + NumCells=0 + $begin 'Cell' + $end 'Cell' + $end 'CustomArray' + $begin 'ParametricArray' + DesignFrequency='1GHz' + LayoutType=1 + CenterCellX='0mm' + CenterCellY='0mm' + CenterCellZ='0mm' + SpecifyDesignInWavelength=false + WidthSpacing='14.9896229mm' + WidthSpacingInWavelength='0.05' + Width='119.9169832mm' + WidthInWavelength='0.4' + LengthSpacing='14.9896229mm' + LengthSpacingInWavelength='0.05' + Length='89.9377374mm' + LengthInWavelength='0.3' + SymmetryType=0 + StaggerAngle='0deg' + StaggerType=0 + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + WeightType=3 + EdgeTaperX_db='-200' + CosineExp='1' + DifferentialType=0 + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'ParametricArray' + $end 'ArraySetup' + $begin 'NearFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'NearFieldSetups' + RadFieldComputationVersion=1.7 + RadfieldHeaderFile='RAD64F45146416442282214.tmp' + RadPowerMethod=0 + $end 'RadField' + $begin 'SolutionManager' + $begin 'Version ID Map' + V=18 + IQM=19 + $end 'Version ID Map' + ValidationCacheHeader='' + $end 'SolutionManager' + $begin 'UserDefinedSolutionMgr' + NextUniqueID=1000000 + MoveBackwards=false + $end 'UserDefinedSolutionMgr' + $begin 'DatasetSolutionMgr' + NextUniqueID=2000000 + MoveBackwards=false + $end 'DatasetSolutionMgr' + Notes=$begin_cdata$ $end_cdata$ + $begin 'AnimationSetups' + $end 'AnimationSetups' + CacheHeaderFile='HDRA3F4369616442712826.tmp' + $end 'HFSSModel' + $begin 'DataInstances' + DesignEditor='TopLevel' + Refdes('0', 'U1') + $begin 'CompInstances' + $begin 'Compinst' + ID='0' + Status='Status' + CompName='HFSSDesign1' + GatesInUse() + $begin 'Properties' + TextProp('ID', 'SRID', '', '0') + $end 'Properties' + $begin 'Parameters' + MenuProp('CoSimulator', 'OHD', '', 'DefaultNetlist', 0) + ButtonProp('CosimDefinition', 'OHD', '', '', 'Edit', 40501, ButtonPropClientData()) + $end 'Parameters' + $end 'Compinst' + $end 'CompInstances' + $begin 'Instance' + DesignEditor='HFSSDesign1' + ID='0' + $begin 'HfssDesignInstance' + DesignInstanceID=1 + $begin 'WindowPosition' + $begin 'EditorWindow' + Circuit(Editor3d(View('View Orientation Gadget'=1, WindowPos(3, -1, -1, -8, -31, 0, 0, 1372, 375), OrientationMatrix(-0.187082871794701, -0.300000011920929, 0.474341630935669, 0, 0.561248600482941, -0.0999999865889549, 0.158113867044449, 0, 4.62877247642268e-09, 0.499999910593033, 0.31622776389122, 0, 1.19209289550781e-07, 2.38418579101562e-07, -5.7486834526062, 1, 0, -2.55285024642944, 2.82458877563477, -1.22383594512939, 1.15819716453552, -0.684628486633301, 12.1819944381714), Drawings[2: 'Box1', 'Box2'], 'View Data'('Render Mode'=1, 'Show Ruler'=1, 'Coordinate Systems View Mode'=1, 'CS Triad View Mode'=0, 'Render Facets'=1, GridVisible=1, GridAutoAdjust=1, GridAutoExtents=1, GridType='Rect', GridStyle='Line', NumPixels=30, dXForGrid=0.2, dYForGrid=0.2, dZForGrid=0.2, dRForGrid=0.2, dThetaForGrid=10), ClipPlanes(ClipPlaneOptions(DisableWhenDrawingNewPlane=true, ForceOpqaueForUnclipped=false, ShowClipped=false, Transparency=0, HandleColor=16776960))))) + $end 'EditorWindow' + $end 'WindowPosition' + $begin 'ReportSetup' + $begin 'ReportManager' + $begin 'Reports' + $end 'Reports' + NextUniqueID=0 + MoveBackwards=false + $begin 'NextVersID' + NextUniqueID=0 + MoveBackwards=false + $end 'NextVersID' + $end 'ReportManager' + $begin 'Reports' + $end 'Reports' + $begin 'ReportsWindowInfoList' + $end 'ReportsWindowInfoList' + $end 'ReportSetup' + $begin 'Properties' + $end 'Properties' + $begin 'UserDefinedDocument' + $begin 'Data' + $end 'Data' + $end 'UserDefinedDocument' + $end 'HfssDesignInstance' + $end 'Instance' + $begin 'SODInfo' + $begin 'HFSSDesign1' + $begin 'CosimDefinition' + CosimDefName='DefaultNetlist' + $begin 'SODInstanceMap' + $end 'SODInstanceMap' + SODComponentList() + $end 'CosimDefinition' + $end 'HFSSDesign1' + $end 'SODInfo' + $end 'DataInstances' + $begin 'WBSystemIDToDesignInstanceIDMap' + $end 'WBSystemIDToDesignInstanceIDMap' + $begin 'WBSysIDSysDetails' + $end 'WBSysIDSysDetails' + $begin 'WBConnIDConnDetails' + $end 'WBConnIDConnDetails' + $begin 'WBMaterialGuidDetails' + WBMaterialGuidMap() + $end 'WBMaterialGuidDetails' + $begin 'MinervaProjectSettingsBlk' + MinervaRemoteFilePath='' + FolderContainerString='' + $end 'MinervaProjectSettingsBlk' +$end 'AnsoftProject' +$begin 'AllReferencedFilesForProject' +$end 'AllReferencedFilesForProject' +$begin 'ProjectPreview' + IsEncrypted=false + Thumbnail64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCABgAGADASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACivPdO+Lfwp1j4h658It\ +J+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8FW2pNqWk6XKupacY7i4to4XF/CVciVN3oV\ +ABRRRQAUUUUAFFFFABRRRQAVla7rel+GtD1nxHrd3Fp+i+H9K1HW9Xv52CQWWl6VaTX9/dzOxASKO0g\ +ldiTgBCTWrWZreiaN4l0bV/DniPSNM1/w9r+mX+ia9oOt2Frquja3o2q2stjqmkavpd/FJBqWmXNjPP\ +DcW80bxTRTPHIjIxBAP48/gF8aNI8I/tCfs7f8FK9V0z4v6b4p/ah/bB+MHg34zazrvwV+NmgfCnT/A\ +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' + $begin 'DesignInfo' + DesignName='HFSSDesign1' + Notes='' + Factory='HFSS' + IsSolved=false + 'Nominal Setups'[0:] + 'Nominal Setup Types'[0:] + 'Optimetrics Setups'[0:] + 'Optimetrics Experiment Types'[0:] + Image64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCADIAMgDASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiiigAooooAKKKKACiii\ +gAooooAKKKKACiivPdO+Lfwp1j4h658ItJ+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8F\ +W2pNqWk6XKupacY7i4to4XF/CVciVNwB6FRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\ +FABRRRQAUUUUAFFFFAGVrut6X4a0PWfEet3cWn6L4f0rUdb1e/nYJBZaXpVpNf393M7EBIo7SCV2JOA\ +EJNfx6/AL40aR4R/aE/Z2/4KV6rpnxf03xT+1D+2D8YPBvxm1nXfgr8bNA+FOn/s3/ABrbTfh/8DLC2\ ++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\ +6U6dda2tJxfl8SSu/8TStvsfiD+zz8K/GXx58dRfBH4e3/wDYfiv4gfFj9opH8YyaTPr2nfDTwvonxQ\ ++ImoeI/ibruk28En2rTdOzptnYw3P2ew1LxL4n8PaBe6jpcetLqFv/AGFeA/BHhf4ZeBvBnw38EaX/A\ +GJ4L+H3hTw74I8IaN9t1HUv7I8L+E9Is9B0DS/7R1e7uLu/+z6TYWkXn3U89xL5XmTzSSszt8XfsG/s\ +MW37F2kfFqbVviFafFbx98XvHdx4l1rxlYeDNQ+Hljp/hWLUvEHiXQPAdl4UuPHuvxNaad4z8ffE/UY\ +9Ra5F/cp41Wyu5JoNMsPL+/K+jynL3gqDlVVsRV+LZ8qW0bpteba3b62R9XkWVvLsNKVaKWKr6z2fKl\ +8MU02n3bW7dtUkwooor1j3QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK\ +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK\ +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\ +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=' + $end 'DesignInfo' +$end 'ProjectPreview' diff --git a/_unittest/example_models/Coordinate_System1.aedt b/_unittest/example_models/Coordinate_System1.aedt new file mode 100644 index 00000000000..a630fc96bec --- /dev/null +++ b/_unittest/example_models/Coordinate_System1.aedt @@ -0,0 +1,711 @@ +$begin 'AnsoftProject' + Created='Mon Feb 7 15:28:34 2022' + Product='ElectronicsDesktop' + FileOwnedByWorkbench=false + $begin 'Desktop' + Version(2021, 2) + InfrastructureVersion(1, 0) + $begin 'FactoryHeader' + $end 'FactoryHeader' + $end 'Desktop' + UsesAdvancedFeatures=false + NextUniqueID=0 + MoveBackwards=false + $begin 'HFSSEnvironment' + Version(1, 0) + $end 'HFSSEnvironment' + $begin 'PlanarEMEnvironment' + Version(1, 0) + $end 'PlanarEMEnvironment' + $begin 'Q3DEnvironment' + Version(1, 0) + $end 'Q3DEnvironment' + $begin '2DExtractorEnvironment' + Version(1, 0) + $end '2DExtractorEnvironment' + $begin 'NexximEnvironment' + Version(1, 0) + $end 'NexximEnvironment' + $begin 'NexximNetlistEnvironment' + Version(1, 0) + $end 'NexximNetlistEnvironment' + $begin 'EmitEnvironment' + Version(1, 0) + $end 'EmitEnvironment' + $begin 'Maxwell3DEnvironment' + Version(1, 0) + $end 'Maxwell3DEnvironment' + $begin 'Maxwell2DEnvironment' + Version(1, 0) + $end 'Maxwell2DEnvironment' + $begin 'RMxprtEnvironment' + Version(1, 0) + $end 'RMxprtEnvironment' + $begin 'MaxCirEnvironment' + Version(1, 0) + $end 'MaxCirEnvironment' + $begin 'SimplorerEnvironment' + Version(1, 0) + $end 'SimplorerEnvironment' + $begin 'IcepakEnvironment' + Version(1, 0) + $end 'IcepakEnvironment' + $begin 'MechanicalEnvironment' + Version(1, 0) + $end 'MechanicalEnvironment' + $begin 'FilterDesignEnvironment' + $end 'FilterDesignEnvironment' + $begin 'SchematicEnvironment' + Version(1, 0) + $end 'SchematicEnvironment' + $begin 'geometry3deditor' + Version(1, 0) + $end 'geometry3deditor' + ReadVersion=9 + $begin 'DesignMgrEnvironment' + CompInstCounter=1 + GPortCounter=0 + NetCounter=0 + Alias('Ieee;Simplorer Elements\\Ieee', 'Std;Simplorer Elements\\Std', 'Basic_VHDLAMS;Simplorer Elements\\Basic Elements VHDLAMS\\Basic Elements VHDLAMS', 'Digital_Elements;Simplorer Elements\\Digital Elements\\Digital Elements', 'Transformations;Simplorer Elements\\Tools\\Transformations\\Transformations', 'HEV_VHDLAMS;Simplorer Elements\\HEV VHDLAMS\\HEV VHDLAMS', 'automotive_vda;Simplorer Elements\\VDALibs VHDLAMS\\automotive_vda', 'example_boardnet;Simplorer Elements\\VDALibs VHDLAMS\\example_boardnet', 'example_ecar;Simplorer Elements\\VDALibs VHDLAMS\\example_ecar', 'fundamentals_vda;Simplorer Elements\\VDALibs VHDLAMS\\fundamentals_vda', 'hybrid_emc_vda;Simplorer Elements\\VDALibs VHDLAMS\\hybrid_emc_vda', 'megma;Simplorer Elements\\VDALibs VHDLAMS\\megma', 'modelica_rotational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_rotational', 'modelica_thermal;Simplorer Elements\\VDALibs VHDLAMS\\modelica_thermal', 'modelica_translational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_translational', 'spice2vhd;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd', 'spice2vhd_devices;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd_devices', 'aircraft_electrical_vhdlams;Simplorer Elements\\Aircraft Electrical VHDLAMS\\Aircraft Electrical VHDLAMS', 'power_system_vhdlams;Simplorer Elements\\Power System VHDLAMS\\Power System VHDLAMS') + $end 'DesignMgrEnvironment' + $begin 'ProjectDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='ProjectDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'ProjectDatasets' + VariableOrders[0:] + $begin 'Definitions' + $begin 'Folders' + Definitions(1604, 10000, 1, 1, 0, false, false) + Materials(1604, 9500, 9, 2, 1, false, false) + 'Surface Materials'(1604, 9501, 33503, 3, 1, false, false) + Scripts(1604, 9502, 33500, 4, 1, false, false) + Padstacks(1604, 9003, 12, 105, 1, false, false) + Symbols(1604, 9001, 10, 103, 1, false, false) + Footprints(1604, 9002, 11, 104, 1, false, false) + Bondwires(1604, 9006, 12, 108, 1, false, false) + Components(1604, 9000, 8, 102, 1, false, false) + Models(1604, 9004, 13, 106, 1, false, false) + Packages(1604, 9005, 33502, 107, 1, false, false) + $end 'Folders' + $begin 'Materials' + $begin 'vacuum' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Electromagnetic') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=230 + Green=230 + Blue=230 + Transparency=0.949999988079071 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + ModTime=1499970477 + Library='Materials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'vacuum' + $end 'Materials' + $begin 'SurfaceMaterials' + $end 'SurfaceMaterials' + $begin 'Scripts' + $end 'Scripts' + $begin 'Symbols' + $begin 'HFSSDesign1' + ModTime=1644243538 + Library='' + ModSinceLib=false + LibLocation='Project' + HighestLevel=1 + Normalize=true + InitialLevels(0, 1) + $begin 'Graphics' + Rect(0, 0, 0, 0, 0.00254, 0.00254, 0.00508, 0.00508, 0, 0, 0) + Rect(0, 1, 0, 0, 0.000423333333333333, 0.00254, 0.000423333333333333, 0.000423333333333334, 0, 0, 0) + $end 'Graphics' + $end 'HFSSDesign1' + $end 'Symbols' + $begin 'DefInfo' + HFSSDesign1(1002, 0, 0, 0, '', 1644243538, '', 'HFSSDesign1', '', '', '', '', '', 'Design.bmp', '', 'Project', '', '', 1644243538, '', 0, 0) + $end 'DefInfo' + $begin 'Compdefs' + $begin 'HFSSDesign1' + Library='' + CircuitEnv=0 + Refbase='U' + NumParts=1 + ModSinceLib=true + $begin 'Properties' + TextProp('Representation', 'SRD', '', 'HFSSDesign1') + TextProp('Owner', 'SRD', '', 'HFSS') + $end 'Properties' + CompExtID=6 + $end 'HFSSDesign1' + $end 'Compdefs' + $end 'Definitions' + DesignIDServer=2 + MoveBackwards=false + $begin 'HFSSModel' + RepRewriteV2=true + Name='HFSSDesign1' + DesignID=0 + 'Use Advanced DC Extrapolation'=false + 'Use Power S'=false + 'Export After Simulation'=false + 'Allow Material Override'=false + 'Calculate Lossy Dielectrics'=false + 'Perform Minimal validation'=false + $begin 'TemperatureSettings' + IncludeTemperatureDependence=false + EnableFeedback=false + Temperatures() + $end 'TemperatureSettings' + ObjsEnabledForDeformation() + 'Port Validation Settings'='Standard' + 'Save Adaptive support files'=false + SolutionType='DrivenModal' + $begin 'DrivenOptions' + WithHybridAndArrays=false + AutoOpen=false + $end 'DrivenOptions' + MaterialDensity=1 + MassOfTissue=1 + VoxelSize=1 + TissueObjectList=-1 + AverageSarMethod=0 + UseAutoDCThickness=true + HaveZwaveSupport=true + $begin 'OutputVariable' + NextUniqueID=0 + MoveBackwards=false + $end 'OutputVariable' + $begin 'CableSetup' + $begin 'CableManager' + CableNextUniqueID=1000 + MoveBackwards=false + Version(1, 0) + $begin 'TDSources' + $end 'TDSources' + $begin 'Definitions' + $end 'Definitions' + $begin 'Harneses' + $end 'Harneses' + $begin 'HarnResults' + $end 'HarnResults' + $end 'CableManager' + $end 'CableSetup' + $begin 'ModelSetup' + $begin 'DesignDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='DesignDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'DesignDatasets' + VariableOrders[0:] + $begin 'Editor3D Doc Preferences' + 'Plane Background'=true + BackgroundColor1=16777215 + BackgroundColor2=0 + 'Need Lights'=true + 'Ambient Light'=9671571 + 'Num Lights'=4 + Light0[4: 6710886, 0, -1, -0.150000005960464] + Light1[4: 6710886, -0.600000023841858, 0.100000001490116, -0.5] + Light2[4: 6710886, 0.5, 0.100000001490116, -0.5] + Light3[4: 6710886, 0.200000002980232, 0.400000005960464, 1] + Ver=2 + $end 'Editor3D Doc Preferences' + SnapMode=31 + WorkingCS=5 + $begin 'GeometryCore' + BlockVersionID=3 + DataVersion=1 + NativeKernel='ACIS' + NativeKernelVersionID=13 + Units='mm' + InstanceID=-1 + $begin 'ValidationOptions' + EntityCheckLevel='Strict' + IgnoreUnclassifiedObjects=false + SkipIntersectionChecks=false + $end 'ValidationOptions' + $begin 'GeometryOperations' + BlockVersionID=2 + $begin 'AnsoftRangedIDServerManager' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=0 + IDServerRangeMin=0 + IDServerRangeMax=2146483647 + NextUniqueID=9 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=1 + IDServerRangeMin=2146483648 + IDServerRangeMax=2146485547 + NextUniqueID=2146483654 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $end 'AnsoftRangedIDServerManager' + StartBackGroundFaceID=2146483648 + $begin 'CoordinateSystems' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=5 + ReferenceCoordSystemID=1 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Axis/Position' + OriginX='-0.8mm' + OriginY='-0.6mm' + OriginZ='0mm' + XAxisXvec='1mm' + XAxisYvec='0mm' + XAxisZvec='0mm' + YAxisXvec='0mm' + YAxisYvec='1mm' + YAxisZvec='0mm' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS1' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=6 + $end 'Operation' + $end 'CoordinateSystems' + $begin 'OperandCSs' + $end 'OperandCSs' + $begin 'SubModelDefinitions' + $end 'SubModelDefinitions' + $begin 'Groups' + $end 'Groups' + $begin 'UserDefinedModels' + $end 'UserDefinedModels' + $begin 'OperandUserDefinedModels' + $end 'OperandUserDefinedModels' + $begin 'ToplevelParts' + $end 'ToplevelParts' + $begin 'OperandParts' + $end 'OperandParts' + $begin 'Planes' + $end 'Planes' + $begin 'Points' + $end 'Points' + $begin 'GeometryEntityLists' + $end 'GeometryEntityLists' + $begin 'CachedNames' + $begin 'allobjects' + allobjects(-1) + $end 'allobjects' + $begin 'global' + global(-1) + $end 'global' + $begin 'model' + model(-1) + $end 'model' + $begin 'relativecs' + relativecs(1) + $end 'relativecs' + $end 'CachedNames' + $end 'GeometryOperations' + $begin 'GeometryDependencies' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 5) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $end 'GeometryDependencies' + $end 'GeometryCore' + GroupByMaterial=true + GroupSheetByMaterial=true + GroupCompByDefID=true + DoNotOrganizeUnderGroup=false + DoNotOrganizeUnderComponent=false + OrganizeLightweight=false + ShowGroup=true + $begin 'LastUserInputs' + $end 'LastUserInputs' + $end 'ModelSetup' + $begin '3DComponent' + $begin 'NativeComponentVisualization' + $end 'NativeComponentVisualization' + $end '3DComponent' + $begin 'BoundarySetup' + $begin 'GlobalBoundData' + PortImpedance='1' + GlobalMaterialEnv='vacuum' + UseTotalFieldFormulation=false + HybridRegionCouplingType='TwoWayCoupled' + 'Current Source Conformance'='Auto' + 'Thin Sources'=false + $end 'GlobalBoundData' + $begin 'Boundaries' + NextUniqueID=0 + MoveBackwards=false + $end 'Boundaries' + $begin 'ProductSpecificData' + $begin 'SBRWedgeSettings' + MaxWedgeAngle='135deg' + IncludeSheetEdges=true + ApplySourceDistFilter=false + ApplyBoxFilter=false + $end 'SBRWedgeSettings' + $begin 'SBRTxRxSettings' + $end 'SBRTxRxSettings' + $begin 'SBRCreepingWaveSettings' + CWRaySampleDensity=10 + CWRayCutoffDb=40 + CWCurvatureSensitivity=50 + CWAngularRayInterval=2 + $end 'SBRCreepingWaveSettings' + $begin 'SBRBlockageSettings' + $end 'SBRBlockageSettings' + $begin 'PMLData' + $begin 'PMLGroups' + $end 'PMLGroups' + $end 'PMLData' + $begin 'SortOrder' + Port[1: -1] + Terminal[1: -1] + $end 'SortOrder' + 'Phase Center Mode'='SinglePhaseCenter' + 'Single Phase Center'=-1 + $end 'ProductSpecificData' + $end 'BoundarySetup' + $begin 'ArrayDefinition' + NextUniqueID=0 + MoveBackwards=false + $end 'ArrayDefinition' + $begin 'MeshSetup' + $begin 'MeshSettings' + $begin 'GlobalSurfApproximation' + CurvedSurfaceApproxChoice='UseSlider' + SliderMeshSettings=5 + $end 'GlobalSurfApproximation' + $begin 'GlobalCurvilinear' + Apply=false + $end 'GlobalCurvilinear' + $begin 'GlobalModelRes' + UseAutoLength=true + $end 'GlobalModelRes' + MeshMethod='Auto' + UseLegacyFaceterForTauVolumeMesh=false + DynamicSurfaceResolution=false + UseFlexMeshingForTAUvolumeMesh=false + UseAlternativeMeshMethodsAsFallBack=true + AllowPhiForLayeredGeometry=true + $end 'MeshSettings' + $begin 'MeshOperations' + NextUniqueID=0 + MoveBackwards=false + $end 'MeshOperations' + $end 'MeshSetup' + $begin 'AnalysisSetup' + $begin 'HfssGlobalData' + NextUniqueID=0 + MoveBackwards=false + $end 'HfssGlobalData' + $begin 'SolveSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'SolveSetups' + $end 'AnalysisSetup' + $begin 'Optimetrics' + $begin 'OptimetricsSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'OptimetricsSetups' + $end 'Optimetrics' + $begin 'Solutions' + FieldType='ScatteredFields' + IncludePortPostProcessing=false + UseSpecifiedIncidentPower=false + $begin 'Contexts' + NextUniqueID=1 + MoveBackwards=false + $end 'Contexts' + $end 'Solutions' + $begin 'PortFieldDisplay' + $begin 'PortFieldDisplay' + ScaleFactor=5 + $end 'PortFieldDisplay' + $end 'PortFieldDisplay' + $begin 'FieldsReporter' + $begin 'FieldsCalculator' + Line_Discretization=1000 + $end 'FieldsCalculator' + $begin 'PlotDefaults' + Default_SolutionId=-1 + Default_PlotFolder='Automatic' + $end 'PlotDefaults' + $begin 'FieldsPlotManagerID' + NextUniqueID=0 + MoveBackwards=false + NumQuantityType=0 + NumPlots=0 + $end 'FieldsPlotManagerID' + $begin 'Report3dInGeomWnd' + Report3dNum=0 + $end 'Report3dInGeomWnd' + $begin 'Report2dInGeomWnd' + Report2dNum=0 + $end 'Report2dInGeomWnd' + $begin 'AntennaParametersInGeomWnd' + AntennaParametersNum=0 + $end 'AntennaParametersInGeomWnd' + AntennaParametersPlotTablesOrder() + $end 'FieldsReporter' + $begin 'RadField' + $begin 'FarFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'FarFieldSetups' + $begin 'ArraySetup' + UseOption='NoArray' + $begin 'RegularArray' + NumUCells='10' + NumVCells='10' + CellUDist='10mm' + CellVDist='10mm' + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + FirstCellPosX='0mm' + FirstCellPosY='0mm' + FirstCellPosZ='0mm' + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'RegularArray' + $begin 'CustomArray' + NumCells=0 + $begin 'Cell' + $end 'Cell' + $end 'CustomArray' + $begin 'ParametricArray' + DesignFrequency='1GHz' + LayoutType=1 + CenterCellX='0mm' + CenterCellY='0mm' + CenterCellZ='0mm' + SpecifyDesignInWavelength=false + WidthSpacing='14.9896229mm' + WidthSpacingInWavelength='0.05' + Width='119.9169832mm' + WidthInWavelength='0.4' + LengthSpacing='14.9896229mm' + LengthSpacingInWavelength='0.05' + Length='89.9377374mm' + LengthInWavelength='0.3' + SymmetryType=0 + StaggerAngle='0deg' + StaggerType=0 + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + WeightType=3 + EdgeTaperX_db='-200' + CosineExp='1' + DifferentialType=0 + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'ParametricArray' + $end 'ArraySetup' + $begin 'NearFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'NearFieldSetups' + RadFieldComputationVersion=1.7 + RadfieldHeaderFile='RAD2FAF4289216442441143.tmp' + RadPowerMethod=0 + $end 'RadField' + $begin 'SolutionManager' + $begin 'Version ID Map' + V=0 + IQM=0 + $end 'Version ID Map' + ValidationCacheHeader='' + $end 'SolutionManager' + $begin 'UserDefinedSolutionMgr' + NextUniqueID=1000000 + MoveBackwards=false + $end 'UserDefinedSolutionMgr' + $begin 'DatasetSolutionMgr' + NextUniqueID=2000000 + MoveBackwards=false + $end 'DatasetSolutionMgr' + Notes=$begin_cdata$ $end_cdata$ + $begin 'AnimationSetups' + $end 'AnimationSetups' + CacheHeaderFile='HDR2FAF4289216442441144.tmp' + $end 'HFSSModel' + $begin 'DataInstances' + DesignEditor='TopLevel' + Refdes('0', 'U1') + $begin 'CompInstances' + $begin 'Compinst' + ID='0' + Status='Status' + CompName='HFSSDesign1' + GatesInUse() + $begin 'Properties' + TextProp('ID', 'SRID', '', '0') + $end 'Properties' + $end 'Compinst' + $end 'CompInstances' + $begin 'Instance' + DesignEditor='HFSSDesign1' + ID='0' + $begin 'HfssDesignInstance' + DesignInstanceID=1 + $begin 'WindowPosition' + $begin 'EditorWindow' + Circuit(Editor3d(View('View Orientation Gadget'=1, WindowPos(3, -1, -1, -8, -31, 26, 26, 1367, 456), OrientationMatrix(-0.187082901597023, -0.300000011920929, 0.474341750144958, 0, 0.561248660087585, -0.100000001490116, 0.158113896846771, 0, 4.62877292051189e-09, 0.499999970197678, 0.316227793693542, 0, 1.19209289550781e-07, 2.38418579101562e-07, -5.7486834526062, 1, 0, -1.62145113945007, 1.62145113945007, -1, 1, 0.625207424163818, 10.8721599578857), Drawings[0:], 'View Data'('Render Mode'=1, 'Show Ruler'=1, 'Coordinate Systems View Mode'=1, 'CS Triad View Mode'=0, 'Render Facets'=1, GridVisible=1, GridAutoAdjust=1, GridAutoExtents=1, GridType='Rect', GridStyle='Line', NumPixels=30, dXForGrid=0.2, dYForGrid=0.2, dZForGrid=0.2, dRForGrid=0.2, dThetaForGrid=10), ClipPlanes(ClipPlaneOptions(DisableWhenDrawingNewPlane=true, ForceOpqaueForUnclipped=false, ShowClipped=false, Transparency=0, HandleColor=16776960))))) + $end 'EditorWindow' + $end 'WindowPosition' + $begin 'ReportSetup' + $begin 'ReportManager' + $begin 'Reports' + $end 'Reports' + NextUniqueID=0 + MoveBackwards=false + $begin 'NextVersID' + NextUniqueID=0 + MoveBackwards=false + $end 'NextVersID' + $end 'ReportManager' + $begin 'Reports' + $end 'Reports' + $begin 'ReportsWindowInfoList' + $end 'ReportsWindowInfoList' + $end 'ReportSetup' + $begin 'Properties' + $end 'Properties' + $begin 'UserDefinedDocument' + $begin 'Data' + $end 'Data' + $end 'UserDefinedDocument' + $end 'HfssDesignInstance' + $end 'Instance' + $begin 'SODInfo' + $end 'SODInfo' + $end 'DataInstances' + $begin 'WBSystemIDToDesignInstanceIDMap' + $end 'WBSystemIDToDesignInstanceIDMap' + $begin 'WBSysIDSysDetails' + $end 'WBSysIDSysDetails' + $begin 'WBConnIDConnDetails' + $end 'WBConnIDConnDetails' + $begin 'WBMaterialGuidDetails' + WBMaterialGuidMap() + $end 'WBMaterialGuidDetails' + $begin 'MinervaProjectSettingsBlk' + MinervaRemoteFilePath='' + FolderContainerString='' + $end 'MinervaProjectSettingsBlk' +$end 'AnsoftProject' +$begin 'AllReferencedFilesForProject' +$end 'AllReferencedFilesForProject' +$begin 'ProjectPreview' + IsEncrypted=false + Thumbnail64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCABgAGADASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACivPdO+Lfwp1j4h658It\ +J+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8FW2pNqWk6XKupacY7i4to4XF/CVciVN3oV\ +ABRRRQAUUUUAFFFFABRRRQAVla7rel+GtD1nxHrd3Fp+i+H9K1HW9Xv52CQWWl6VaTX9/dzOxASKO0g\ +ldiTgBCTWrWZreiaN4l0bV/DniPSNM1/w9r+mX+ia9oOt2Frquja3o2q2stjqmkavpd/FJBqWmXNjPP\ +DcW80bxTRTPHIjIxBAP48/gF8aNI8I/tCfs7f8FK9V0z4v6b4p/ah/bB+MHg34zazrvwV+NmgfCnT/A\ +Nm/41tpvw/+BlhbfGXxD4EtfB/iJNFv/BGh30MOma1eSMdZmjCK9lOB9raV+2l+2LY+LLf4i6h8f7/W\ +vCMH/BYDWv2JZPhBdfDT4O2nhO8+C+p6q1lYJdeI9O8AxeIl8TacGBtL2HV4TIqBb+O9bdI37+ap8FP\ +g1rfw8074Raz8JPhlq/wn0eDR7bSPhhqngLwrf/DzS7bw9PBdaBb6d4Ku9KfTbGCxuba2ks0itlW2kt\ +0eEIyKRR/4UB8CPJ+z/wDClPhJ9n/4WR/wuTyP+Fb+DvJ/4W95nnf8LU8r+xtv/CyPO+f+3Mf2nu+b7\ +VnmgD8J/CH7Zf7Yb/tgXHwz+K/xq1zwz8M/jH8c/jn8DvgD47+Dfgj9mj9oH9m/Vr+LSdR034c6DH4q\ +8IxJ4u+DXxi8N6xbxXmpQ+Lrjxha3s7G31bw1o2n29xctz/wU/4KDftm/HSL4gaNpXxF8DfDzxZ+xn+\ +x18Vof2ndT+KGl/Djwh8OvEP7ZVp408WfDnwG3i7xVrel2tt4F8Px2fgq/wDEQWzvNI0jztVii1Atpi\ +hD+9Ef7OnwK0z4g6v8Z/DXwS+Cmh/HPVIdRZ/jHH8J/BzfEGe/1CyNlLdav4vsLC01jVoXjESXMZ1OJ\ +7iGMwmdAQy+GfskfsY6d+zhZ/tC6x428XaN8YPiV+1L8WvFHxX+MviiD4fweBvCurS+IIpbOy8G6N4F\ +vPE+vyWPg+x065v4o4L3V9SlmbVLqSaZvOKAA+P/APgl9+1Z8efip8Qfit8E/wBqLxT8VJfjH4X+HPw\ +y+JCeB/iT8Ovgl/Zun6Jr9s+nap4w+Gnx7/Z1TTPDnxU+HOsavJa3WmQXHhyyvbGC4WG31nxFHBd3kX\ +7PV5P8LfgL8DPgbBrFr8FPgx8J/g9beIbi3u9ft/hb8OvB/wAPoNcurRJI7W51iHwlo9oup3EUcsqxv\ +MHZBIwUgE59YoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\ +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9k=' + $begin 'DesignInfo' + DesignName='HFSSDesign1' + Notes='' + Factory='HFSS' + IsSolved=false + 'Nominal Setups'[0:] + 'Nominal Setup Types'[0:] + 'Optimetrics Setups'[0:] + 'Optimetrics Experiment Types'[0:] + Image64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCADIAMgDASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiiigAooooAKKKKACiii\ +gAooooAKKKKACiivPdO+Lfwp1j4h658ItJ+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8F\ +W2pNqWk6XKupacY7i4to4XF/CVciVNwB6FRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\ +FABRRRQAUUUUAFFFFAGVrut6X4a0PWfEet3cWn6L4f0rUdb1e/nYJBZaXpVpNf393M7EBIo7SCV2JOA\ +EJNfx6/AL40aR4R/aE/Z2/4KV6rpnxf03xT+1D+2D8YPBvxm1nXfgr8bNA+FOn/s3/ABrbTfh/8DLC2\ ++MviHwJa+D/ABEmi3/gjQ76GHTNavJGOszRhFeynA/sM1vRNG8S6Nq/hzxHpGma/wCHtf0y/wBE17Qd\ +bsLXVdG1vRtVtZbHVNI1fS7+KSDUtMubGeeG4t5o3imimeORGRiDwuqfBT4Na38PNO+EWs/CT4Zav8J\ +9Hg0e20j4Yap4C8K3/wAPNLtvD08F1oFvp3gq70p9NsYLG5traSzSK2VbaS3R4QjIpAB+Aelftpfti2\ +Piy3+IuofH+/1rwjB/wWA1r9iWT4QXXw0+Dtp4TvPgvqeqtZWCXXiPTvAMXiJfE2nBgbS9h1eEyKgW/\ +jvW3SNreEP2y/2w3/bAuPhn8V/jVrnhn4Z/GP45/HP4HfAHx38G/BH7NH7QP7N+rX8Wk6jpvw50GPxV\ +4RiTxd8GvjF4b1i3ivNSh8XXHjC1vZ2Nvq3hrRtPt7i5b92P+FAfAjyfs/8AwpT4SfZ/+Fkf8Lk8j/h\ +W/g7yf+FveZ53/C1PK/sbb/wsjzvn/tzH9p7vm+1Z5rPj/Z0+BWmfEHV/jP4a+CXwU0P456pDqLP8Y4\ +/hP4Ob4gz3+oWRspbrV/F9hYWmsatC8YiS5jOpxPcQxmEzoCGUA/Bf4Kf8FBv2zfjpF8QNG0r4i+Bvh\ +54s/Yz/AGOvitD+07qfxQ0v4ceEPh14h/bKtPGniz4c+A28XeKtb0u1tvAvh+Oz8FX/AIiC2d5pGked\ +qsUWoFtMUIfrX/gl9+1Z8efip8Qfit8E/wBqLxT8VJfjH4X+HPwy+JCeB/iT8Ovgl/Zun6Jr9s+nap4\ +w+Gnx7/Z1TTPDnxU+HOsavJa3WmQXHhyyvbGC4WG31nxFHBd3kX2B+yR+xjp37OFn+0LrHjbxdo3xg+\ +JX7Uvxa8UfFf4y+KIPh/B4G8K6tL4gils7Lwbo3gW88T6/JY+D7HTrm/ijgvdX1KWZtUupJpm84oPob\ +4W/AX4GfA2DWLX4KfBj4T/B628Q3Fvd6/b/AAt+HXg/4fQa5dWiSR2tzrEPhLR7RdTuIo5ZVjeYOyCR\ +gpAJyAesUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF\ +FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\ +FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\ +FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\ +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU\ +UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\ +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\ +UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\ +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ\ +AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=' + $end 'DesignInfo' +$end 'ProjectPreview' diff --git a/_unittest/example_models/Coordinate_System2.aedt b/_unittest/example_models/Coordinate_System2.aedt new file mode 100644 index 00000000000..85a37e823c9 --- /dev/null +++ b/_unittest/example_models/Coordinate_System2.aedt @@ -0,0 +1,1011 @@ +$begin 'AnsoftProject' + Created='Mon Feb 7 15:32:49 2022' + Product='ElectronicsDesktop' + FileOwnedByWorkbench=false + $begin 'Desktop' + Version(2021, 2) + InfrastructureVersion(1, 0) + $begin 'FactoryHeader' + $end 'FactoryHeader' + $end 'Desktop' + UsesAdvancedFeatures=false + NextUniqueID=0 + MoveBackwards=false + $begin 'HFSSEnvironment' + Version(1, 0) + $end 'HFSSEnvironment' + $begin 'PlanarEMEnvironment' + Version(1, 0) + $end 'PlanarEMEnvironment' + $begin 'Q3DEnvironment' + Version(1, 0) + $end 'Q3DEnvironment' + $begin '2DExtractorEnvironment' + Version(1, 0) + $end '2DExtractorEnvironment' + $begin 'NexximEnvironment' + Version(1, 0) + $end 'NexximEnvironment' + $begin 'NexximNetlistEnvironment' + Version(1, 0) + $end 'NexximNetlistEnvironment' + $begin 'EmitEnvironment' + Version(1, 0) + $end 'EmitEnvironment' + $begin 'Maxwell3DEnvironment' + Version(1, 0) + $end 'Maxwell3DEnvironment' + $begin 'Maxwell2DEnvironment' + Version(1, 0) + $end 'Maxwell2DEnvironment' + $begin 'RMxprtEnvironment' + Version(1, 0) + $end 'RMxprtEnvironment' + $begin 'MaxCirEnvironment' + Version(1, 0) + $end 'MaxCirEnvironment' + $begin 'SimplorerEnvironment' + Version(1, 0) + $end 'SimplorerEnvironment' + $begin 'IcepakEnvironment' + Version(1, 0) + $end 'IcepakEnvironment' + $begin 'MechanicalEnvironment' + Version(1, 0) + $end 'MechanicalEnvironment' + $begin 'FilterDesignEnvironment' + $end 'FilterDesignEnvironment' + $begin 'SchematicEnvironment' + Version(1, 0) + $end 'SchematicEnvironment' + $begin 'geometry3deditor' + Version(1, 0) + $end 'geometry3deditor' + ReadVersion=9 + $begin 'DesignMgrEnvironment' + CompInstCounter=1 + GPortCounter=0 + NetCounter=0 + Alias('Ieee;Simplorer Elements\\Ieee', 'Std;Simplorer Elements\\Std', 'Basic_VHDLAMS;Simplorer Elements\\Basic Elements VHDLAMS\\Basic Elements VHDLAMS', 'Digital_Elements;Simplorer Elements\\Digital Elements\\Digital Elements', 'Transformations;Simplorer Elements\\Tools\\Transformations\\Transformations', 'HEV_VHDLAMS;Simplorer Elements\\HEV VHDLAMS\\HEV VHDLAMS', 'automotive_vda;Simplorer Elements\\VDALibs VHDLAMS\\automotive_vda', 'example_boardnet;Simplorer Elements\\VDALibs VHDLAMS\\example_boardnet', 'example_ecar;Simplorer Elements\\VDALibs VHDLAMS\\example_ecar', 'fundamentals_vda;Simplorer Elements\\VDALibs VHDLAMS\\fundamentals_vda', 'hybrid_emc_vda;Simplorer Elements\\VDALibs VHDLAMS\\hybrid_emc_vda', 'megma;Simplorer Elements\\VDALibs VHDLAMS\\megma', 'modelica_rotational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_rotational', 'modelica_thermal;Simplorer Elements\\VDALibs VHDLAMS\\modelica_thermal', 'modelica_translational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_translational', 'spice2vhd;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd', 'spice2vhd_devices;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd_devices', 'aircraft_electrical_vhdlams;Simplorer Elements\\Aircraft Electrical VHDLAMS\\Aircraft Electrical VHDLAMS', 'power_system_vhdlams;Simplorer Elements\\Power System VHDLAMS\\Power System VHDLAMS') + $end 'DesignMgrEnvironment' + $begin 'ProjectDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='ProjectDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'ProjectDatasets' + VariableOrders[0:] + $begin 'Definitions' + $begin 'Folders' + Definitions(1604, 10000, 1, 1, 0, false, false) + Materials(1604, 9500, 9, 2, 1, false, false) + 'Surface Materials'(1604, 9501, 33503, 3, 1, false, false) + Scripts(1604, 9502, 33500, 4, 1, false, false) + Padstacks(1604, 9003, 12, 105, 1, false, false) + Symbols(1604, 9001, 10, 103, 1, false, false) + Footprints(1604, 9002, 11, 104, 1, false, false) + Bondwires(1604, 9006, 12, 108, 1, false, false) + Components(1604, 9000, 8, 102, 1, false, false) + Models(1604, 9004, 13, 106, 1, false, false) + Packages(1604, 9005, 33502, 107, 1, false, false) + $end 'Folders' + $begin 'Materials' + $begin 'vacuum' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Electromagnetic') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=230 + Green=230 + Blue=230 + Transparency=0.949999988079071 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + ModTime=1499970477 + Library='Materials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'vacuum' + $end 'Materials' + $begin 'SurfaceMaterials' + $end 'SurfaceMaterials' + $begin 'Scripts' + $end 'Scripts' + $begin 'Symbols' + $begin 'HFSSDesign1' + ModTime=1644244322 + Library='' + ModSinceLib=false + LibLocation='Project' + HighestLevel=1 + Normalize=true + InitialLevels(0, 1) + $begin 'Graphics' + Rect(0, 0, 0, 0, 0.00254, 0.00254, 0.00508, 0.00508, 0, 0, 0) + Rect(0, 1, 0, 0, 0.000423333333333333, 0.00254, 0.000423333333333333, 0.000423333333333334, 0, 0, 0) + $end 'Graphics' + $end 'HFSSDesign1' + $end 'Symbols' + $begin 'DefInfo' + HFSSDesign1(1002, 0, 0, 0, '', 1644244322, '', 'HFSSDesign1', '', '', '', '', '', 'Design.bmp', '', 'Project', '', '', 1644244322, '', 0, 0) + $end 'DefInfo' + $begin 'Compdefs' + $begin 'HFSSDesign1' + Library='' + CircuitEnv=0 + Refbase='U' + NumParts=1 + ModSinceLib=true + $begin 'Properties' + TextProp('Representation', 'SRD', '', 'HFSSDesign1') + TextProp('Owner', 'SRD', '', 'HFSS') + $end 'Properties' + CompExtID=6 + $end 'HFSSDesign1' + $end 'Compdefs' + $end 'Definitions' + DesignIDServer=2 + MoveBackwards=false + $begin 'HFSSModel' + RepRewriteV2=true + Name='HFSSDesign1' + DesignID=0 + 'Use Advanced DC Extrapolation'=false + 'Use Power S'=false + 'Export After Simulation'=false + 'Allow Material Override'=false + 'Calculate Lossy Dielectrics'=false + 'Perform Minimal validation'=false + $begin 'TemperatureSettings' + IncludeTemperatureDependence=false + EnableFeedback=false + Temperatures(6, '22cel') + $end 'TemperatureSettings' + ObjsEnabledForDeformation() + 'Port Validation Settings'='Standard' + 'Save Adaptive support files'=false + SolutionType='DrivenModal' + $begin 'DrivenOptions' + WithHybridAndArrays=false + AutoOpen=false + $end 'DrivenOptions' + MaterialDensity=1 + MassOfTissue=1 + VoxelSize=1 + TissueObjectList=-1 + AverageSarMethod=0 + UseAutoDCThickness=true + HaveZwaveSupport=true + $begin 'OutputVariable' + NextUniqueID=0 + MoveBackwards=false + $end 'OutputVariable' + $begin 'CableSetup' + $begin 'CableManager' + CableNextUniqueID=1000 + MoveBackwards=false + Version(1, 0) + $begin 'TDSources' + $end 'TDSources' + $begin 'Definitions' + $end 'Definitions' + $begin 'Harneses' + $end 'Harneses' + $begin 'HarnResults' + $end 'HarnResults' + $end 'CableManager' + $end 'CableSetup' + $begin 'ModelSetup' + $begin 'DesignDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='DesignDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'DesignDatasets' + VariableOrders[0:] + $begin 'Editor3D Doc Preferences' + 'Plane Background'=true + BackgroundColor1=16777215 + BackgroundColor2=0 + 'Need Lights'=true + 'Ambient Light'=9671571 + 'Num Lights'=4 + Light0[4: 6710886, 0, -1, -0.150000005960464] + Light1[4: 6710886, -0.600000023841858, 0.100000001490116, -0.5] + Light2[4: 6710886, 0.5, 0.100000001490116, -0.5] + Light3[4: 6710886, 0.200000002980232, 0.400000005960464, 1] + Ver=2 + $end 'Editor3D Doc Preferences' + SnapMode=31 + WorkingCS=34 + $begin 'GeometryCore' + BlockVersionID=3 + DataVersion=1 + NativeKernel='ACIS' + NativeKernelVersionID=13 + Units='mm' + InstanceID=-1 + $begin 'ValidationOptions' + EntityCheckLevel='Strict' + IgnoreUnclassifiedObjects=false + SkipIntersectionChecks=false + $end 'ValidationOptions' + $begin 'GeometryOperations' + BlockVersionID=2 + $begin 'AnsoftRangedIDServerManager' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=0 + IDServerRangeMin=0 + IDServerRangeMax=2146483647 + NextUniqueID=38 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=1 + IDServerRangeMin=2146483648 + IDServerRangeMax=2146485547 + NextUniqueID=2146483654 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $end 'AnsoftRangedIDServerManager' + StartBackGroundFaceID=2146483648 + $begin 'CoordinateSystems' + $begin 'Operation' + OperationType='CreateFaceCoordinateSystem' + ID=34 + $begin 'FaceCSFromParameters' + KernelVersion=13 + $end 'FaceCSFromParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='FaceCS1' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=35 + PlaceHolderOperationID=33 + $end 'Operation' + $end 'CoordinateSystems' + $begin 'OperandCSs' + $end 'OperandCSs' + $begin 'SubModelDefinitions' + $end 'SubModelDefinitions' + $begin 'Groups' + $end 'Groups' + $begin 'UserDefinedModels' + $end 'UserDefinedModels' + $begin 'OperandUserDefinedModels' + $end 'OperandUserDefinedModels' + $begin 'ToplevelParts' + $begin 'GeometryPart' + $begin 'Attributes' + Name='Box1' + Flags='' + Color='(143 175 143)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='"vacuum"' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + IsMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'Operations' + $begin 'Operation' + OperationType='Box' + ID=5 + ReferenceCoordSystemID=1 + $begin 'BoxParameters' + KernelVersion=13 + XPosition='0mm' + YPosition='0mm' + ZPosition='0mm' + XSize='0.6mm' + YSize='0.6mm' + ZSize='0.6mm' + $end 'BoxParameters' + ParentPartID=6 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=6 + StartFaceID=7 + StartEdgeID=13 + StartVertexID=25 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + $end 'Operation' + $begin 'FaceCSHolderOperation' + OperationType='FaceCSPlaceHolder' + ID=33 + $begin 'FaceCSParameters' + KernelVersion=13 + PartID=6 + $begin 'Origin' + IsAttachedToEntity=true + EntityID=30 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnVertex' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'Origin' + MoveToEnd=false + FaceID=12 + $begin 'AxisPosn' + IsAttachedToEntity=true + EntityID=29 + FacetedBodyTriangleIndex=-1 + TriangleVertexIndex=-1 + PositionType='OnVertex' + UParam=0 + VParam=0 + XPosition='0' + YPosition='0' + ZPosition='0' + $end 'AxisPosn' + WhichAxis='X' + ZRotationAngle='0deg' + XOffset='0mm' + YOffset='0mm' + AutoAxis=false + $end 'FaceCSParameters' + ParentPartID=6 + ReferenceUDMID=-1 + $end 'FaceCSHolderOperation' + $end 'Operations' + $end 'GeometryPart' + $end 'ToplevelParts' + $begin 'OperandParts' + $end 'OperandParts' + $begin 'Planes' + $end 'Planes' + $begin 'Points' + $end 'Points' + $begin 'GeometryEntityLists' + $end 'GeometryEntityLists' + $begin 'CachedNames' + $begin 'allobjects' + allobjects(-1) + $end 'allobjects' + $begin 'box' + box(1) + $end 'box' + $begin 'facecs' + facecs(1) + $end 'facecs' + $begin 'global' + global(-1) + $end 'global' + $begin 'model' + model(-1) + $end 'model' + $end 'CachedNames' + $end 'GeometryOperations' + $begin 'GeometryDependencies' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 5) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 33) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=2 + DependencyObject('CoordinateSystem', 34) + DependencyObject('GeometryBodyOperation', 5) + DependencyObject('GeometryOperation', 33) + $end 'DependencyInformation' + $end 'GeometryDependencies' + $end 'GeometryCore' + GroupByMaterial=true + GroupSheetByMaterial=true + GroupCompByDefID=true + DoNotOrganizeUnderGroup=false + DoNotOrganizeUnderComponent=false + OrganizeLightweight=false + ShowGroup=true + $begin 'LastUserInputs' + $end 'LastUserInputs' + $end 'ModelSetup' + $begin '3DComponent' + $begin 'NativeComponentVisualization' + $end 'NativeComponentVisualization' + $end '3DComponent' + $begin 'BoundarySetup' + $begin 'GlobalBoundData' + PortImpedance='1' + GlobalMaterialEnv='vacuum' + UseTotalFieldFormulation=false + HybridRegionCouplingType='TwoWayCoupled' + 'Current Source Conformance'='Auto' + 'Thin Sources'=false + $end 'GlobalBoundData' + $begin 'Boundaries' + NextUniqueID=0 + MoveBackwards=false + $end 'Boundaries' + $begin 'ProductSpecificData' + $begin 'SBRWedgeSettings' + MaxWedgeAngle='135deg' + IncludeSheetEdges=true + ApplySourceDistFilter=false + ApplyBoxFilter=false + $end 'SBRWedgeSettings' + $begin 'SBRTxRxSettings' + $end 'SBRTxRxSettings' + $begin 'SBRCreepingWaveSettings' + CWRaySampleDensity=10 + CWRayCutoffDb=40 + CWCurvatureSensitivity=50 + CWAngularRayInterval=2 + $end 'SBRCreepingWaveSettings' + $begin 'SBRBlockageSettings' + $end 'SBRBlockageSettings' + $begin 'PMLData' + $begin 'PMLGroups' + $end 'PMLGroups' + $end 'PMLData' + $begin 'SortOrder' + Port[1: -1] + Terminal[1: -1] + $end 'SortOrder' + 'Phase Center Mode'='SinglePhaseCenter' + 'Single Phase Center'=-1 + $end 'ProductSpecificData' + $end 'BoundarySetup' + $begin 'ArrayDefinition' + NextUniqueID=0 + MoveBackwards=false + $end 'ArrayDefinition' + $begin 'MeshSetup' + $begin 'MeshSettings' + $begin 'GlobalSurfApproximation' + CurvedSurfaceApproxChoice='UseSlider' + SliderMeshSettings=5 + $end 'GlobalSurfApproximation' + $begin 'GlobalCurvilinear' + Apply=false + $end 'GlobalCurvilinear' + $begin 'GlobalModelRes' + UseAutoLength=true + $end 'GlobalModelRes' + MeshMethod='Auto' + UseLegacyFaceterForTauVolumeMesh=false + DynamicSurfaceResolution=false + UseFlexMeshingForTAUvolumeMesh=false + UseAlternativeMeshMethodsAsFallBack=true + AllowPhiForLayeredGeometry=true + $end 'MeshSettings' + $begin 'MeshOperations' + NextUniqueID=0 + MoveBackwards=false + $end 'MeshOperations' + $end 'MeshSetup' + $begin 'AnalysisSetup' + $begin 'HfssGlobalData' + NextUniqueID=0 + MoveBackwards=false + $end 'HfssGlobalData' + $begin 'SolveSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'SolveSetups' + $end 'AnalysisSetup' + $begin 'Optimetrics' + $begin 'OptimetricsSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'OptimetricsSetups' + $end 'Optimetrics' + $begin 'Solutions' + FieldType='NoIncidentWave' + IncludePortPostProcessing=false + UseSpecifiedIncidentPower=false + $begin 'Contexts' + NextUniqueID=1 + MoveBackwards=false + $end 'Contexts' + $end 'Solutions' + $begin 'PortFieldDisplay' + $begin 'PortFieldDisplay' + ScaleFactor=5 + $end 'PortFieldDisplay' + $end 'PortFieldDisplay' + $begin 'FieldsReporter' + $begin 'FieldsCalculator' + Line_Discretization=1000 + $end 'FieldsCalculator' + $begin 'PlotDefaults' + Default_SolutionId=-1 + Default_PlotFolder='Automatic' + $end 'PlotDefaults' + $begin 'FieldsPlotManagerID' + NextUniqueID=0 + MoveBackwards=false + NumQuantityType=0 + NumPlots=0 + $end 'FieldsPlotManagerID' + $begin 'Report3dInGeomWnd' + Report3dNum=0 + $end 'Report3dInGeomWnd' + $begin 'Report2dInGeomWnd' + Report2dNum=0 + $end 'Report2dInGeomWnd' + $begin 'AntennaParametersInGeomWnd' + AntennaParametersNum=0 + $end 'AntennaParametersInGeomWnd' + AntennaParametersPlotTablesOrder() + $end 'FieldsReporter' + $begin 'RadField' + $begin 'FarFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'FarFieldSetups' + $begin 'ArraySetup' + UseOption='NoArray' + $begin 'RegularArray' + NumUCells='10' + NumVCells='10' + CellUDist='10mm' + CellVDist='10mm' + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + FirstCellPosX='0mm' + FirstCellPosY='0mm' + FirstCellPosZ='0mm' + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'RegularArray' + $begin 'CustomArray' + NumCells=0 + $begin 'Cell' + $end 'Cell' + $end 'CustomArray' + $begin 'ParametricArray' + DesignFrequency='1GHz' + LayoutType=1 + CenterCellX='0mm' + CenterCellY='0mm' + CenterCellZ='0mm' + SpecifyDesignInWavelength=false + WidthSpacing='14.9896229mm' + WidthSpacingInWavelength='0.05' + Width='119.9169832mm' + WidthInWavelength='0.4' + LengthSpacing='14.9896229mm' + LengthSpacingInWavelength='0.05' + Length='89.9377374mm' + LengthInWavelength='0.3' + SymmetryType=0 + StaggerAngle='0deg' + StaggerType=0 + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + WeightType=3 + EdgeTaperX_db='-200' + CosineExp='1' + DifferentialType=0 + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'ParametricArray' + $end 'ArraySetup' + $begin 'NearFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'NearFieldSetups' + RadFieldComputationVersion=1.7 + RadfieldHeaderFile='RAD32F04289216442443696.tmp' + RadPowerMethod=0 + $end 'RadField' + $begin 'SolutionManager' + $begin 'Version ID Map' + V=0 + IQM=1 + $end 'Version ID Map' + ValidationCacheHeader='' + $end 'SolutionManager' + $begin 'UserDefinedSolutionMgr' + NextUniqueID=1000000 + MoveBackwards=false + $end 'UserDefinedSolutionMgr' + $begin 'DatasetSolutionMgr' + NextUniqueID=2000000 + MoveBackwards=false + $end 'DatasetSolutionMgr' + Notes=$begin_cdata$ $end_cdata$ + $begin 'AnimationSetups' + $end 'AnimationSetups' + CacheHeaderFile='HDR32F04289216442443697.tmp' + $end 'HFSSModel' + $begin 'DataInstances' + DesignEditor='TopLevel' + Refdes('0', 'U1') + $begin 'CompInstances' + $begin 'Compinst' + ID='0' + Status='Status' + CompName='HFSSDesign1' + GatesInUse() + $begin 'Properties' + TextProp('ID', 'SRID', '', '0') + $end 'Properties' + $end 'Compinst' + $end 'CompInstances' + $begin 'Instance' + DesignEditor='HFSSDesign1' + ID='0' + $begin 'HfssDesignInstance' + DesignInstanceID=1 + $begin 'WindowPosition' + $begin 'EditorWindow' + Circuit(Editor3d(View('View Orientation Gadget'=1, WindowPos(3, -1, -1, -8, -31, 130, 130, 1471, 560), OrientationMatrix(-0.187082901597023, -0.300000011920929, 0.474341750144958, 0, 0.561248660087585, -0.100000001490116, 0.158113896846771, 0, 4.62877292051189e-09, 0.499999970197678, 0.316227793693542, 0, 1.19209289550781e-07, 2.38418579101562e-07, -5.7486834526062, 1, 0, -1.62145113945007, 1.62145113945007, -1, 1, 4.21164131164551, 7.28572654724121), Drawings[1: 'Box1'], 'View Data'('Render Mode'=1, 'Show Ruler'=1, 'Coordinate Systems View Mode'=1, 'CS Triad View Mode'=0, 'Render Facets'=1, GridVisible=1, GridAutoAdjust=1, GridAutoExtents=1, GridType='Rect', GridStyle='Line', NumPixels=30, dXForGrid=0.2, dYForGrid=0.2, dZForGrid=0.2, dRForGrid=0.2, dThetaForGrid=10), ClipPlanes(ClipPlaneOptions(DisableWhenDrawingNewPlane=true, ForceOpqaueForUnclipped=false, ShowClipped=false, Transparency=0, HandleColor=16776960))))) + $end 'EditorWindow' + $end 'WindowPosition' + $begin 'ReportSetup' + $begin 'ReportManager' + $begin 'Reports' + $end 'Reports' + NextUniqueID=0 + MoveBackwards=false + $begin 'NextVersID' + NextUniqueID=0 + MoveBackwards=false + $end 'NextVersID' + $end 'ReportManager' + $begin 'Reports' + $end 'Reports' + $begin 'ReportsWindowInfoList' + $end 'ReportsWindowInfoList' + $end 'ReportSetup' + $begin 'Properties' + $end 'Properties' + $begin 'UserDefinedDocument' + $begin 'Data' + $end 'Data' + $end 'UserDefinedDocument' + $end 'HfssDesignInstance' + $end 'Instance' + $begin 'SODInfo' + $end 'SODInfo' + $end 'DataInstances' + $begin 'WBSystemIDToDesignInstanceIDMap' + $end 'WBSystemIDToDesignInstanceIDMap' + $begin 'WBSysIDSysDetails' + $end 'WBSysIDSysDetails' + $begin 'WBConnIDConnDetails' + $end 'WBConnIDConnDetails' + $begin 'WBMaterialGuidDetails' + WBMaterialGuidMap() + $end 'WBMaterialGuidDetails' + $begin 'MinervaProjectSettingsBlk' + MinervaRemoteFilePath='' + FolderContainerString='' + $end 'MinervaProjectSettingsBlk' +$end 'AnsoftProject' +$begin 'AllReferencedFilesForProject' +$end 'AllReferencedFilesForProject' +$begin 'ProjectPreview' + IsEncrypted=false + Thumbnail64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCABgAGADASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAr5N/ak/av0n9mqLwLpdp8PfFfxb8f/\ +EDULm80b4f+ENQ8M6DqI+H3hLX/AAXp3xV8dy+IPHGr6dpKf2Jp3jjQPselvepe6zqmu6fZRC0006vr\ +mifQ/jzxv4X+GXgbxn8SPG+qf2J4L+H3hTxF438X6z9i1HUv7I8L+E9IvNe1/VP7O0i0uLu/+z6TYXc\ +vkWsE9xL5XlwQySsqN+EWu+KfFHxT+InjL40ePLL+zPFPjLyfDuh6CF06FvBfwe8I+JPGWo/CbwNqEO\ +j313a3Hiu10zxjrGo+I7pNQ1dJvE3izWYdM1Wbw1a+H7LT/HznMv7Ow69m08TW0gnrZK3NJrslovNrd\ +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\ +9ravzfVJBRRRXqntn//2Q==' + $begin 'DesignInfo' + DesignName='HFSSDesign1' + Notes='' + Factory='HFSS' + IsSolved=false + 'Nominal Setups'[0:] + 'Nominal Setup Types'[0:] + 'Optimetrics Setups'[0:] + 'Optimetrics Experiment Types'[0:] + Image64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCADIAMgDASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiivzu/bT/aN8X+FNc8O\ +/An4MeLb7wX8Sb+x0b4hfEjxvZeH/Duqah4B+E2pv430jwqfCZ8c6Pqej3/AI58Q/ELwZcWccVzoms2\ +dp4d8LeJ5b1tF1e58J3F9z4rE0sJQqYis7U6a6bvoklpdt7HNjMXRwOGq4rEStSpK7ta7eySTau29Er\ +n6I0V+F2hftD/ALZXg/7V/ZP7Qfh74jf2j5H2j/hf/wAEvB3iT+xvsnneV/wiX/DP2o/C/wCxfaPtUn\ +2/+1/7c8z7DZfYP7M8u9/tD1nw/wDt9/tG6BHp1n44+Bvwm+JNvY3Cy+IvGPw5+J3ib4Z6/relNdtdX\ +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\ +UAFFFFABRRRQAUUUUAf/2Q==' + $end 'DesignInfo' +$end 'ProjectPreview' diff --git a/_unittest/example_models/Coordinate_System3.aedt b/_unittest/example_models/Coordinate_System3.aedt new file mode 100644 index 00000000000..5604bb5ebe4 --- /dev/null +++ b/_unittest/example_models/Coordinate_System3.aedt @@ -0,0 +1,737 @@ +$begin 'AnsoftProject' + Created='Mon Feb 7 15:34:13 2022' + Product='ElectronicsDesktop' + FileOwnedByWorkbench=false + $begin 'Desktop' + Version(2021, 2) + InfrastructureVersion(1, 0) + $begin 'FactoryHeader' + $end 'FactoryHeader' + $end 'Desktop' + UsesAdvancedFeatures=false + NextUniqueID=0 + MoveBackwards=false + $begin 'HFSSEnvironment' + Version(1, 0) + $end 'HFSSEnvironment' + $begin 'PlanarEMEnvironment' + Version(1, 0) + $end 'PlanarEMEnvironment' + $begin 'Q3DEnvironment' + Version(1, 0) + $end 'Q3DEnvironment' + $begin '2DExtractorEnvironment' + Version(1, 0) + $end '2DExtractorEnvironment' + $begin 'NexximEnvironment' + Version(1, 0) + $end 'NexximEnvironment' + $begin 'NexximNetlistEnvironment' + Version(1, 0) + $end 'NexximNetlistEnvironment' + $begin 'EmitEnvironment' + Version(1, 0) + $end 'EmitEnvironment' + $begin 'Maxwell3DEnvironment' + Version(1, 0) + $end 'Maxwell3DEnvironment' + $begin 'Maxwell2DEnvironment' + Version(1, 0) + $end 'Maxwell2DEnvironment' + $begin 'RMxprtEnvironment' + Version(1, 0) + $end 'RMxprtEnvironment' + $begin 'MaxCirEnvironment' + Version(1, 0) + $end 'MaxCirEnvironment' + $begin 'SimplorerEnvironment' + Version(1, 0) + $end 'SimplorerEnvironment' + $begin 'IcepakEnvironment' + Version(1, 0) + $end 'IcepakEnvironment' + $begin 'MechanicalEnvironment' + Version(1, 0) + $end 'MechanicalEnvironment' + $begin 'FilterDesignEnvironment' + $end 'FilterDesignEnvironment' + $begin 'SchematicEnvironment' + Version(1, 0) + $end 'SchematicEnvironment' + $begin 'geometry3deditor' + Version(1, 0) + $end 'geometry3deditor' + ReadVersion=9 + $begin 'DesignMgrEnvironment' + CompInstCounter=1 + GPortCounter=0 + NetCounter=0 + Alias('Ieee;Simplorer Elements\\Ieee', 'Std;Simplorer Elements\\Std', 'Basic_VHDLAMS;Simplorer Elements\\Basic Elements VHDLAMS\\Basic Elements VHDLAMS', 'Digital_Elements;Simplorer Elements\\Digital Elements\\Digital Elements', 'Transformations;Simplorer Elements\\Tools\\Transformations\\Transformations', 'HEV_VHDLAMS;Simplorer Elements\\HEV VHDLAMS\\HEV VHDLAMS', 'automotive_vda;Simplorer Elements\\VDALibs VHDLAMS\\automotive_vda', 'example_boardnet;Simplorer Elements\\VDALibs VHDLAMS\\example_boardnet', 'example_ecar;Simplorer Elements\\VDALibs VHDLAMS\\example_ecar', 'fundamentals_vda;Simplorer Elements\\VDALibs VHDLAMS\\fundamentals_vda', 'hybrid_emc_vda;Simplorer Elements\\VDALibs VHDLAMS\\hybrid_emc_vda', 'megma;Simplorer Elements\\VDALibs VHDLAMS\\megma', 'modelica_rotational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_rotational', 'modelica_thermal;Simplorer Elements\\VDALibs VHDLAMS\\modelica_thermal', 'modelica_translational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_translational', 'spice2vhd;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd', 'spice2vhd_devices;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd_devices', 'aircraft_electrical_vhdlams;Simplorer Elements\\Aircraft Electrical VHDLAMS\\Aircraft Electrical VHDLAMS', 'power_system_vhdlams;Simplorer Elements\\Power System VHDLAMS\\Power System VHDLAMS') + $end 'DesignMgrEnvironment' + $begin 'ProjectDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='ProjectDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'ProjectDatasets' + VariableOrders[0:] + $begin 'Definitions' + $begin 'Folders' + Definitions(1604, 10000, 1, 1, 0, false, false) + Materials(1604, 9500, 9, 2, 1, false, false) + 'Surface Materials'(1604, 9501, 33503, 3, 1, false, false) + Scripts(1604, 9502, 33500, 4, 1, false, false) + Padstacks(1604, 9003, 12, 105, 1, false, false) + Symbols(1604, 9001, 10, 103, 1, false, false) + Footprints(1604, 9002, 11, 104, 1, false, false) + Bondwires(1604, 9006, 12, 108, 1, false, false) + Components(1604, 9000, 8, 102, 1, false, false) + Models(1604, 9004, 13, 106, 1, false, false) + Packages(1604, 9005, 33502, 107, 1, false, false) + $end 'Folders' + $begin 'Materials' + $begin 'vacuum' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Electromagnetic') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=230 + Green=230 + Blue=230 + Transparency=0.949999988079071 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + ModTime=1499970477 + Library='Materials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'vacuum' + $end 'Materials' + $begin 'SurfaceMaterials' + $end 'SurfaceMaterials' + $begin 'Scripts' + $end 'Scripts' + $begin 'Symbols' + $begin 'HFSSDesign1' + ModTime=1644244382 + Library='' + ModSinceLib=false + LibLocation='Project' + HighestLevel=1 + Normalize=true + InitialLevels(0, 1) + $begin 'Graphics' + Rect(0, 0, 0, 0, 0.00254, 0.00254, 0.00508, 0.00508, 0, 0, 0) + Rect(0, 1, 0, 0, 0.000423333333333333, 0.00254, 0.000423333333333333, 0.000423333333333334, 0, 0, 0) + $end 'Graphics' + $end 'HFSSDesign1' + $end 'Symbols' + $begin 'DefInfo' + HFSSDesign1(1002, 0, 0, 0, '', 1644244382, '', 'HFSSDesign1', '', '', '', '', '', 'Design.bmp', '', 'Project', '', '', 1644244382, '', 0, 0) + $end 'DefInfo' + $begin 'Compdefs' + $begin 'HFSSDesign1' + Library='' + CircuitEnv=0 + Refbase='U' + NumParts=1 + ModSinceLib=true + $begin 'Properties' + TextProp('Representation', 'SRD', '', 'HFSSDesign1') + TextProp('Owner', 'SRD', '', 'HFSS') + $end 'Properties' + CompExtID=6 + $end 'HFSSDesign1' + $end 'Compdefs' + $end 'Definitions' + DesignIDServer=2 + MoveBackwards=false + $begin 'HFSSModel' + RepRewriteV2=true + Name='HFSSDesign1' + DesignID=0 + 'Use Advanced DC Extrapolation'=false + 'Use Power S'=false + 'Export After Simulation'=false + 'Allow Material Override'=false + 'Calculate Lossy Dielectrics'=false + 'Perform Minimal validation'=false + $begin 'TemperatureSettings' + IncludeTemperatureDependence=false + EnableFeedback=false + Temperatures() + $end 'TemperatureSettings' + ObjsEnabledForDeformation() + 'Port Validation Settings'='Standard' + 'Save Adaptive support files'=false + SolutionType='DrivenModal' + $begin 'DrivenOptions' + WithHybridAndArrays=false + AutoOpen=false + $end 'DrivenOptions' + MaterialDensity=1 + MassOfTissue=1 + VoxelSize=1 + TissueObjectList=-1 + AverageSarMethod=0 + UseAutoDCThickness=true + HaveZwaveSupport=true + $begin 'OutputVariable' + NextUniqueID=0 + MoveBackwards=false + $end 'OutputVariable' + $begin 'CableSetup' + $begin 'CableManager' + CableNextUniqueID=1000 + MoveBackwards=false + Version(1, 0) + $begin 'TDSources' + $end 'TDSources' + $begin 'Definitions' + $end 'Definitions' + $begin 'Harneses' + $end 'Harneses' + $begin 'HarnResults' + $end 'HarnResults' + $end 'CableManager' + $end 'CableSetup' + $begin 'ModelSetup' + $begin 'DesignDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='DesignDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'DesignDatasets' + VariableOrders[0:] + $begin 'Editor3D Doc Preferences' + 'Plane Background'=true + BackgroundColor1=16777215 + BackgroundColor2=0 + 'Need Lights'=true + 'Ambient Light'=9671571 + 'Num Lights'=4 + Light0[4: 6710886, 0, -1, -0.150000005960464] + Light1[4: 6710886, -0.600000023841858, 0.100000001490116, -0.5] + Light2[4: 6710886, 0.5, 0.100000001490116, -0.5] + Light3[4: 6710886, 0.200000002980232, 0.400000005960464, 1] + Ver=2 + $end 'Editor3D Doc Preferences' + SnapMode=31 + WorkingCS=5 + $begin 'GeometryCore' + BlockVersionID=3 + DataVersion=1 + NativeKernel='ACIS' + NativeKernelVersionID=13 + Units='mm' + InstanceID=-1 + $begin 'ValidationOptions' + EntityCheckLevel='Strict' + IgnoreUnclassifiedObjects=false + SkipIntersectionChecks=false + $end 'ValidationOptions' + $begin 'GeometryOperations' + BlockVersionID=2 + $begin 'AnsoftRangedIDServerManager' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=0 + IDServerRangeMin=0 + IDServerRangeMax=2146483647 + NextUniqueID=13 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=1 + IDServerRangeMin=2146483648 + IDServerRangeMax=2146485547 + NextUniqueID=2146483654 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $end 'AnsoftRangedIDServerManager' + StartBackGroundFaceID=2146483648 + $begin 'CoordinateSystems' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=5 + ReferenceCoordSystemID=1 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Euler Angle ZYZ' + OriginX='-0.6mm' + OriginY='0.2mm' + OriginZ='0mm' + Psi='90deg' + Theta='0deg' + Phi='56.3099324740202deg' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS1' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=6 + $end 'Operation' + $begin 'Operation' + OperationType='CreateRelativeCoordinateSystem' + ID=9 + ReferenceCoordSystemID=1 + $begin 'RelativeCSParameters' + KernelVersion=13 + Mode='Euler Angle ZXZ' + OriginX='1.4mm' + OriginY='-0.8mm' + OriginZ='0mm' + Psi='0deg' + Theta='180deg' + Phi='26.565051177078deg' + $end 'RelativeCSParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $begin 'Attributes' + Name='RelativeCS2' + UDMId=-1 + $end 'Attributes' + $begin 'Operations' + $end 'Operations' + XYPlaneID=10 + $end 'Operation' + $end 'CoordinateSystems' + $begin 'OperandCSs' + $end 'OperandCSs' + $begin 'SubModelDefinitions' + $end 'SubModelDefinitions' + $begin 'Groups' + $end 'Groups' + $begin 'UserDefinedModels' + $end 'UserDefinedModels' + $begin 'OperandUserDefinedModels' + $end 'OperandUserDefinedModels' + $begin 'ToplevelParts' + $end 'ToplevelParts' + $begin 'OperandParts' + $end 'OperandParts' + $begin 'Planes' + $end 'Planes' + $begin 'Points' + $end 'Points' + $begin 'GeometryEntityLists' + $end 'GeometryEntityLists' + $begin 'CachedNames' + $begin 'allobjects' + allobjects(-1) + $end 'allobjects' + $begin 'global' + global(-1) + $end 'global' + $begin 'model' + model(-1) + $end 'model' + $begin 'relativecs' + relativecs(1, 2) + $end 'relativecs' + $end 'CachedNames' + $end 'GeometryOperations' + $begin 'GeometryDependencies' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 5) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('CoordinateSystem', 9) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $end 'GeometryDependencies' + $end 'GeometryCore' + GroupByMaterial=true + GroupSheetByMaterial=true + GroupCompByDefID=true + DoNotOrganizeUnderGroup=false + DoNotOrganizeUnderComponent=false + OrganizeLightweight=false + ShowGroup=true + $begin 'LastUserInputs' + $end 'LastUserInputs' + $end 'ModelSetup' + $begin '3DComponent' + $begin 'NativeComponentVisualization' + $end 'NativeComponentVisualization' + $end '3DComponent' + $begin 'BoundarySetup' + $begin 'GlobalBoundData' + PortImpedance='1' + GlobalMaterialEnv='vacuum' + UseTotalFieldFormulation=false + HybridRegionCouplingType='TwoWayCoupled' + 'Current Source Conformance'='Auto' + 'Thin Sources'=false + $end 'GlobalBoundData' + $begin 'Boundaries' + NextUniqueID=0 + MoveBackwards=false + $end 'Boundaries' + $begin 'ProductSpecificData' + $begin 'SBRWedgeSettings' + MaxWedgeAngle='135deg' + IncludeSheetEdges=true + ApplySourceDistFilter=false + ApplyBoxFilter=false + $end 'SBRWedgeSettings' + $begin 'SBRTxRxSettings' + $end 'SBRTxRxSettings' + $begin 'SBRCreepingWaveSettings' + CWRaySampleDensity=10 + CWRayCutoffDb=40 + CWCurvatureSensitivity=50 + CWAngularRayInterval=2 + $end 'SBRCreepingWaveSettings' + $begin 'SBRBlockageSettings' + $end 'SBRBlockageSettings' + $begin 'PMLData' + $begin 'PMLGroups' + $end 'PMLGroups' + $end 'PMLData' + $begin 'SortOrder' + Port[1: -1] + Terminal[1: -1] + $end 'SortOrder' + 'Phase Center Mode'='SinglePhaseCenter' + 'Single Phase Center'=-1 + $end 'ProductSpecificData' + $end 'BoundarySetup' + $begin 'ArrayDefinition' + NextUniqueID=0 + MoveBackwards=false + $end 'ArrayDefinition' + $begin 'MeshSetup' + $begin 'MeshSettings' + $begin 'GlobalSurfApproximation' + CurvedSurfaceApproxChoice='UseSlider' + SliderMeshSettings=5 + $end 'GlobalSurfApproximation' + $begin 'GlobalCurvilinear' + Apply=false + $end 'GlobalCurvilinear' + $begin 'GlobalModelRes' + UseAutoLength=true + $end 'GlobalModelRes' + MeshMethod='Auto' + UseLegacyFaceterForTauVolumeMesh=false + DynamicSurfaceResolution=false + UseFlexMeshingForTAUvolumeMesh=false + UseAlternativeMeshMethodsAsFallBack=true + AllowPhiForLayeredGeometry=true + $end 'MeshSettings' + $begin 'MeshOperations' + NextUniqueID=0 + MoveBackwards=false + $end 'MeshOperations' + $end 'MeshSetup' + $begin 'AnalysisSetup' + $begin 'HfssGlobalData' + NextUniqueID=0 + MoveBackwards=false + $end 'HfssGlobalData' + $begin 'SolveSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'SolveSetups' + $end 'AnalysisSetup' + $begin 'Optimetrics' + $begin 'OptimetricsSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'OptimetricsSetups' + $end 'Optimetrics' + $begin 'Solutions' + FieldType='ScatteredFields' + IncludePortPostProcessing=false + UseSpecifiedIncidentPower=false + $begin 'Contexts' + NextUniqueID=1 + MoveBackwards=false + $end 'Contexts' + $end 'Solutions' + $begin 'PortFieldDisplay' + $begin 'PortFieldDisplay' + ScaleFactor=5 + $end 'PortFieldDisplay' + $end 'PortFieldDisplay' + $begin 'FieldsReporter' + $begin 'FieldsCalculator' + Line_Discretization=1000 + $end 'FieldsCalculator' + $begin 'PlotDefaults' + Default_SolutionId=-1 + Default_PlotFolder='Automatic' + $end 'PlotDefaults' + $begin 'FieldsPlotManagerID' + NextUniqueID=0 + MoveBackwards=false + NumQuantityType=0 + NumPlots=0 + $end 'FieldsPlotManagerID' + $begin 'Report3dInGeomWnd' + Report3dNum=0 + $end 'Report3dInGeomWnd' + $begin 'Report2dInGeomWnd' + Report2dNum=0 + $end 'Report2dInGeomWnd' + $begin 'AntennaParametersInGeomWnd' + AntennaParametersNum=0 + $end 'AntennaParametersInGeomWnd' + AntennaParametersPlotTablesOrder() + $end 'FieldsReporter' + $begin 'RadField' + $begin 'FarFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'FarFieldSetups' + $begin 'ArraySetup' + UseOption='NoArray' + $begin 'RegularArray' + NumUCells='10' + NumVCells='10' + CellUDist='10mm' + CellVDist='10mm' + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + FirstCellPosX='0mm' + FirstCellPosY='0mm' + FirstCellPosZ='0mm' + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'RegularArray' + $begin 'CustomArray' + NumCells=0 + $begin 'Cell' + $end 'Cell' + $end 'CustomArray' + $begin 'ParametricArray' + DesignFrequency='1GHz' + LayoutType=1 + CenterCellX='0mm' + CenterCellY='0mm' + CenterCellZ='0mm' + SpecifyDesignInWavelength=false + WidthSpacing='14.9896229mm' + WidthSpacingInWavelength='0.05' + Width='119.9169832mm' + WidthInWavelength='0.4' + LengthSpacing='14.9896229mm' + LengthSpacingInWavelength='0.05' + Length='89.9377374mm' + LengthInWavelength='0.3' + SymmetryType=0 + StaggerAngle='0deg' + StaggerType=0 + UDirnX='1' + UDirnY='0' + UDirnZ='0' + VDirnX='0' + VDirnY='1' + VDirnZ='0' + WeightType=3 + EdgeTaperX_db='-200' + CosineExp='1' + DifferentialType=0 + Behavior='UseScanAngle' + ScanAnglePhi='45deg' + ScanAngleTheta='45deg' + UDirnPhaseShift='0deg' + VDirnPhaseShift='0deg' + $end 'ParametricArray' + $end 'ArraySetup' + $begin 'NearFieldSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'NearFieldSetups' + RadFieldComputationVersion=1.7 + RadfieldHeaderFile='RAD34024289216442444539.tmp' + RadPowerMethod=0 + $end 'RadField' + $begin 'SolutionManager' + $begin 'Version ID Map' + V=0 + IQM=0 + $end 'Version ID Map' + ValidationCacheHeader='' + $end 'SolutionManager' + $begin 'UserDefinedSolutionMgr' + NextUniqueID=1000000 + MoveBackwards=false + $end 'UserDefinedSolutionMgr' + $begin 'DatasetSolutionMgr' + NextUniqueID=2000000 + MoveBackwards=false + $end 'DatasetSolutionMgr' + Notes=$begin_cdata$ $end_cdata$ + $begin 'AnimationSetups' + $end 'AnimationSetups' + CacheHeaderFile='HDR340242892164424445310.tmp' + $end 'HFSSModel' + $begin 'DataInstances' + DesignEditor='TopLevel' + Refdes('0', 'U1') + $begin 'CompInstances' + $begin 'Compinst' + ID='0' + Status='Status' + CompName='HFSSDesign1' + GatesInUse() + $begin 'Properties' + TextProp('ID', 'SRID', '', '0') + $end 'Properties' + $end 'Compinst' + $end 'CompInstances' + $begin 'Instance' + DesignEditor='HFSSDesign1' + ID='0' + $begin 'HfssDesignInstance' + DesignInstanceID=1 + $begin 'WindowPosition' + $begin 'EditorWindow' + Circuit(Editor3d(View('View Orientation Gadget'=1, WindowPos(3, -1, -1, -8, -31, 208, 208, 1549, 638), OrientationMatrix(-0.187082901597023, -0.300000011920929, 0.474341750144958, 0, 0.561248660087585, -0.100000001490116, 0.158113896846771, 0, 4.62877292051189e-09, 0.499999970197678, 0.316227793693542, 0, 1.19209289550781e-07, 2.38418579101562e-07, -5.7486834526062, 1, 0, -1.4242901802063, 1.4242901802063, -1, 1, 0.625207424163818, 10.8721599578857), Drawings[0:], 'View Data'('Render Mode'=1, 'Show Ruler'=1, 'Coordinate Systems View Mode'=1, 'CS Triad View Mode'=0, 'Render Facets'=1, GridVisible=1, GridAutoAdjust=1, GridAutoExtents=1, GridType='Rect', GridStyle='Line', NumPixels=30, dXForGrid=0.2, dYForGrid=0.2, dZForGrid=0.2, dRForGrid=0.2, dThetaForGrid=10), ClipPlanes(ClipPlaneOptions(DisableWhenDrawingNewPlane=true, ForceOpqaueForUnclipped=false, ShowClipped=false, Transparency=0, HandleColor=16776960))))) + $end 'EditorWindow' + $end 'WindowPosition' + $begin 'ReportSetup' + $begin 'ReportManager' + $begin 'Reports' + $end 'Reports' + NextUniqueID=0 + MoveBackwards=false + $begin 'NextVersID' + NextUniqueID=0 + MoveBackwards=false + $end 'NextVersID' + $end 'ReportManager' + $begin 'Reports' + $end 'Reports' + $begin 'ReportsWindowInfoList' + $end 'ReportsWindowInfoList' + $end 'ReportSetup' + $begin 'Properties' + $end 'Properties' + $begin 'UserDefinedDocument' + $begin 'Data' + $end 'Data' + $end 'UserDefinedDocument' + $end 'HfssDesignInstance' + $end 'Instance' + $begin 'SODInfo' + $end 'SODInfo' + $end 'DataInstances' + $begin 'WBSystemIDToDesignInstanceIDMap' + $end 'WBSystemIDToDesignInstanceIDMap' + $begin 'WBSysIDSysDetails' + $end 'WBSysIDSysDetails' + $begin 'WBConnIDConnDetails' + $end 'WBConnIDConnDetails' + $begin 'WBMaterialGuidDetails' + WBMaterialGuidMap() + $end 'WBMaterialGuidDetails' + $begin 'MinervaProjectSettingsBlk' + MinervaRemoteFilePath='' + FolderContainerString='' + $end 'MinervaProjectSettingsBlk' +$end 'AnsoftProject' +$begin 'AllReferencedFilesForProject' +$end 'AllReferencedFilesForProject' +$begin 'ProjectPreview' + IsEncrypted=false + Thumbnail64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCABgAGADASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACivPdO+Lfwp1j4h658It\ +J+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8FW2pNqWk6XKupacY7i4to4XF/CVciVN3oV\ +ABRRRQAUUUUAFFFFABRRRQAVla7rel+GtD1nxHrd3Fp+i+H9K1HW9Xv52CQWWl6VaTX9/dzOxASKO0g\ +ldiTgBCTWrWZreiaN4l0bV/DniPSNM1/w9r+mX+ia9oOt2Frquja3o2q2stjqmkavpd/FJBqWmXNjPP\ +DcW80bxTRTPHIjIxBAP48/gF8aNI8I/tCfs7f8FK9V0z4v6b4p/ah/bB+MHg34zazrvwV+NmgfCnT/A\ +Nm/41tpvw/+BlhbfGXxD4EtfB/iJNFv/BGh30MOma1eSMdZmjCK9lOB9raV+2l+2LY+LLf4i6h8f7/W\ +vCMH/BYDWv2JZPhBdfDT4O2nhO8+C+p6q1lYJdeI9O8AxeIl8TacGBtL2HV4TIqBb+O9bdI37+ap8FP\ +g1rfw8074Raz8JPhlq/wn0eDR7bSPhhqngLwrf/DzS7bw9PBdaBb6d4Ku9KfTbGCxuba2ks0itlW2kt\ +0eEIyKRR/4UB8CPJ+z/wDClPhJ9n/4WR/wuTyP+Fb+DvJ/4W95nnf8LU8r+xtv/CyPO+f+3Mf2nu+b7\ +VnmgD8J/CH7Zf7Yb/tgXHwz+K/xq1zwz8M/jH8c/jn8DvgD47+Dfgj9mj9oH9m/Vr+LSdR034c6DH4q\ +8IxJ4u+DXxi8N6xbxXmpQ+Lrjxha3s7G31bw1o2n29xctz/wU/4KDftm/HSL4gaNpXxF8DfDzxZ+xn+\ +x18Vof2ndT+KGl/Djwh8OvEP7ZVp408WfDnwG3i7xVrel2tt4F8Px2fgq/wDEQWzvNI0jztVii1Atpi\ +hD+9Ef7OnwK0z4g6v8Z/DXwS+Cmh/HPVIdRZ/jHH8J/BzfEGe/1CyNlLdav4vsLC01jVoXjESXMZ1OJ\ +7iGMwmdAQy+GfskfsY6d+zhZ/tC6x428XaN8YPiV+1L8WvFHxX+MviiD4fweBvCurS+IIpbOy8G6N4F\ +vPE+vyWPg+x065v4o4L3V9SlmbVLqSaZvOKAA+P/APgl9+1Z8efip8Qfit8E/wBqLxT8VJfjH4X+HPw\ +y+JCeB/iT8Ovgl/Zun6Jr9s+nap4w+Gnx7/Z1TTPDnxU+HOsavJa3WmQXHhyyvbGC4WG31nxFHBd3kX\ +7PV5P8LfgL8DPgbBrFr8FPgx8J/g9beIbi3u9ft/hb8OvB/wAPoNcurRJI7W51iHwlo9oup3EUcsqxv\ +MHZBIwUgE59YoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\ +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9k=' + $begin 'DesignInfo' + DesignName='HFSSDesign1' + Notes='' + Factory='HFSS' + IsSolved=false + 'Nominal Setups'[0:] + 'Nominal Setup Types'[0:] + 'Optimetrics Setups'[0:] + 'Optimetrics Experiment Types'[0:] + Image64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCADIAMgDASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiiigAooooAKKKKACiii\ +gAooooAKKKKACiivPdO+Lfwp1j4h658ItJ+J3w91T4r+GNLt9c8S/DDTvGnhu9+Ifh7RLtbJ7XWNc8F\ +W2pNqWk6XKupacY7i4to4XF/CVciVNwB6FRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\ +FABRRRQAUUUUAFFFFAGVrut6X4a0PWfEet3cWn6L4f0rUdb1e/nYJBZaXpVpNf393M7EBIo7SCV2JOA\ +EJNfx6/AL40aR4R/aE/Z2/4KV6rpnxf03xT+1D+2D8YPBvxm1nXfgr8bNA+FOn/s3/ABrbTfh/8DLC2\ ++MviHwJa+D/ABEmi3/gjQ76GHTNavJGOszRhFeynA/sM1vRNG8S6Nq/hzxHpGma/wCHtf0y/wBE17Qd\ +bsLXVdG1vRtVtZbHVNI1fS7+KSDUtMubGeeG4t5o3imimeORGRiDwuqfBT4Na38PNO+EWs/CT4Zav8J\ +9Hg0e20j4Yap4C8K3/wAPNLtvD08F1oFvp3gq70p9NsYLG5traSzSK2VbaS3R4QjIpAB+Aelftpfti2\ +Piy3+IuofH+/1rwjB/wWA1r9iWT4QXXw0+Dtp4TvPgvqeqtZWCXXiPTvAMXiJfE2nBgbS9h1eEyKgW/\ +jvW3SNreEP2y/2w3/bAuPhn8V/jVrnhn4Z/GP45/HP4HfAHx38G/BH7NH7QP7N+rX8Wk6jpvw50GPxV\ +4RiTxd8GvjF4b1i3ivNSh8XXHjC1vZ2Nvq3hrRtPt7i5b92P+FAfAjyfs/8AwpT4SfZ/+Fkf8Lk8j/h\ +W/g7yf+FveZ53/C1PK/sbb/wsjzvn/tzH9p7vm+1Z5rPj/Z0+BWmfEHV/jP4a+CXwU0P456pDqLP8Y4\ +/hP4Ob4gz3+oWRspbrV/F9hYWmsatC8YiS5jOpxPcQxmEzoCGUA/Bf4Kf8FBv2zfjpF8QNG0r4i+Bvh\ +54s/Yz/AGOvitD+07qfxQ0v4ceEPh14h/bKtPGniz4c+A28XeKtb0u1tvAvh+Oz8FX/AIiC2d5pGked\ +qsUWoFtMUIfrX/gl9+1Z8efip8Qfit8E/wBqLxT8VJfjH4X+HPwy+JCeB/iT8Ovgl/Zun6Jr9s+nap4\ +w+Gnx7/Z1TTPDnxU+HOsavJa3WmQXHhyyvbGC4WG31nxFHBd3kX2B+yR+xjp37OFn+0LrHjbxdo3xg+\ +JX7Uvxa8UfFf4y+KIPh/B4G8K6tL4gils7Lwbo3gW88T6/JY+D7HTrm/ijgvdX1KWZtUupJpm84oPob\ +4W/AX4GfA2DWLX4KfBj4T/B628Q3Fvd6/b/AAt+HXg/4fQa5dWiSR2tzrEPhLR7RdTuIo5ZVjeYOyCR\ +gpAJyAesUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF\ +FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\ +FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\ +FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\ +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU\ +UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\ +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\ +UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\ +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ\ +AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=' + $end 'DesignInfo' +$end 'ProjectPreview' diff --git a/_unittest/test_02_3D_modeler.py b/_unittest/test_02_3D_modeler.py index e977664b2d3..c94c8eca378 100644 --- a/_unittest/test_02_3D_modeler.py +++ b/_unittest/test_02_3D_modeler.py @@ -1,5 +1,6 @@ # Setup paths for module imports from _unittest.conftest import BasisTest, pyaedt_unittest_check_desktop_error +from pyaedt.modeler.Modeler import FaceCoordinateSystem try: import pytest # noqa: F401 @@ -271,7 +272,7 @@ def test_39_create_coaxial(self): assert isinstance(coax[1].id, int) assert isinstance(coax[2].id, int) - def test_40_create_coordinate(self): + def test_40_create_coordinate_system(self): cs = self.aedtapp.modeler.create_coordinate_system() assert cs assert cs.update() @@ -287,6 +288,67 @@ def test_40_create_coordinate(self): assert cs.change_cs_mode(0) assert cs.delete() + def test_40a_create_face_coordinate_system(self): + box = self.aedtapp.modeler.create_box([0, 0, 0], [2, 2, 2]) + face = box.faces[0] + fcs = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[0], face.edges[1]) + assert fcs + assert fcs.face_id == face.id + assert fcs.update() + assert fcs.delete() + fcs2 = self.aedtapp.modeler.create_face_coordinate_system(face, face, face.edges[1].vertices[0]) + assert fcs2 + assert fcs2.delete() + fcs2 = self.aedtapp.modeler.create_face_coordinate_system( + face, face.edges[0].vertices[0], face.edges[1].vertices[0] + ) + assert fcs2 + assert fcs2.delete() + fcs3 = self.aedtapp.modeler.create_face_coordinate_system( + face, face.edges[1].vertices[1], face.edges[1].vertices[0] + ) + assert fcs3 + assert fcs3.delete() + fcs4 = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[2], face.edges[3], name="test") + assert fcs4 + assert fcs4.name == "test" + assert fcs4.delete() + fcs5 = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[2], face.edges[3], axis="Y") + assert fcs5 + assert fcs5.props["WhichAxis"] == "Y" + assert fcs5.delete() + fcs6 = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[2], face.edges[3], rotation=14.3) + assert fcs6 + assert fcs6.props["ZRotationAngle"] == "14.3deg" + assert fcs6.delete() + fcs7 = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[2], face.edges[3], offset=[0.2, 0.3]) + assert fcs7 + assert fcs7.props["XOffset"] == "0.2" + self.aedtapp.modeler.model_units + assert fcs7.props["YOffset"] == "0.3" + self.aedtapp.modeler.model_units + assert fcs7.delete() + fcs8 = self.aedtapp.modeler.create_face_coordinate_system(face.id, face.edges[0].id, face.edges[1].id) + assert fcs8 + assert fcs8.delete() + fcs9 = self.aedtapp.modeler.create_face_coordinate_system(face.id, face.edges[0].vertices[0].id, face.id) + assert fcs9 + assert fcs9.delete() + fcs10 = self.aedtapp.modeler.create_face_coordinate_system( + face, face.edges[2], face.edges[3], always_move_to_end=False + ) + assert fcs10 + assert fcs10.props["MoveToEnd"] is False + assert fcs10.delete() + fcs = FaceCoordinateSystem(self.aedtapp.modeler) + assert fcs._part_name is None + assert fcs._get_type_from_id(box.id) == "3dObject" + assert fcs._get_type_from_id(face.id) == "Face" + assert fcs._get_type_from_id(face.edges[0].id) == "Edge" + assert fcs._get_type_from_id(face.edges[0].vertices[0].id) == "Vertex" + assert fcs._get_type_from_object(box) == "3dObject" + assert fcs._get_type_from_object(face) == "Face" + assert fcs._get_type_from_object(face.edges[0]) == "Edge" + assert fcs._get_type_from_object(face.edges[0].vertices[0]) == "Vertex" + def test_41_rename_coordinate(self): cs = self.aedtapp.modeler.create_coordinate_system(name="oldname") assert cs.name == "oldname" @@ -294,6 +356,15 @@ def test_41_rename_coordinate(self): assert cs.name == "newname" assert cs.delete() + def test_41a_rename_face_coordinate(self): + box = self.aedtapp.modeler.create_box([0, 0, 0], [2, 2, 2]) + face = box.faces[0] + fcs = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[0], face.edges[1], name="oldname") + assert fcs.name == "oldname" + assert fcs.rename("newname") + assert fcs.name == "newname" + assert fcs.delete() + def test_42A_update_coordinate_system(self): for cs in self.aedtapp.modeler.coordinate_systems: cs.delete() @@ -310,11 +381,36 @@ def test_42A_update_coordinate_system(self): cs2.props["Theta"] = 30 assert cs2.update() cs2.ref_cs = "Global" - cs2.update() + assert cs2.update() assert tuple(self.aedtapp.modeler.oeditor.GetCoordinateSystems()) == ("Global", "CS1", "CS2") assert len(self.aedtapp.modeler.coordinate_systems) == 2 assert cs2.delete() + def test_42A_update_face_coordinate_system(self): + for cs in self.aedtapp.modeler.coordinate_systems: + cs.delete() + box = self.aedtapp.modeler.create_box([0, 0, 0], [2, 2, 2]) + face = box.faces[0] + fcs = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[0], face.edges[1], name="FCS1") + assert fcs + fcs.props["XOffset"] = "0.2mm" + fcs.props["YOffset"] = "0.3mm" + assert fcs.props["XOffset"] == "0.2mm" + assert fcs.props["YOffset"] == "0.3mm" + assert fcs.update() + fcs.props["ZRotationAngle"] = "14.3deg" + assert fcs.update() + assert fcs.props["ZRotationAngle"] == "14.3deg" + fcs.props["WhichAxis"] = "Y" + assert fcs.update() + assert fcs.props["WhichAxis"] == "Y" + fcs.props["MoveToEnd"] = False + assert fcs.update() + assert fcs.props["MoveToEnd"] is False + assert tuple(self.aedtapp.modeler.oeditor.GetCoordinateSystems()) == ("Global", "FCS1") + assert len(self.aedtapp.modeler.coordinate_systems) == 1 + assert fcs.delete() + def test_42B_set_as_working_cs(self): for cs in self.aedtapp.modeler.coordinate_systems: cs.delete() @@ -323,10 +419,31 @@ def test_42B_set_as_working_cs(self): assert cs1.set_as_working_cs() assert cs2.set_as_working_cs() + def test_42C_set_as_working_face_cs(self): + for cs in self.aedtapp.modeler.coordinate_systems: + cs.delete() + box = self.aedtapp.modeler.create_box([0, 0, 0], [2, 2, 2]) + face = box.faces[0] + fcs1 = self.aedtapp.modeler.create_face_coordinate_system(face, face.edges[0], face.edges[1]) + fcs2 = self.aedtapp.modeler.create_face_coordinate_system(face, face, face.edges[1]) + assert fcs1.set_as_working_cs() + assert fcs2.set_as_working_cs() + def test_43_set_working_coordinate_system(self): cs1 = self.aedtapp.modeler.create_coordinate_system(name="new1") - self.aedtapp.modeler.set_working_coordinate_system("Global") - self.aedtapp.modeler.set_working_coordinate_system("new1") + assert self.aedtapp.modeler.set_working_coordinate_system("Global") + assert self.aedtapp.modeler.set_working_coordinate_system("new1") + assert self.aedtapp.modeler.set_working_coordinate_system("Global") + assert self.aedtapp.modeler.set_working_coordinate_system(cs1) + + def test_43_set_working_face_coordinate_system(self): + box = self.aedtapp.modeler.create_box([0, 0, 0], [2, 2, 2]) + face = box.faces[0] + fcs = self.aedtapp.modeler.create_face_coordinate_system(face, face, face.edges[1], name="new2") + assert self.aedtapp.modeler.set_working_coordinate_system("Global") + assert self.aedtapp.modeler.set_working_coordinate_system("new2") + assert self.aedtapp.modeler.set_working_coordinate_system("Global") + assert self.aedtapp.modeler.set_working_coordinate_system(fcs) def test_44_sweep_around_axis(self): rect1 = self.aedtapp.modeler.primitives.create_rectangle( diff --git a/_unittest/test_13_LoadAEDTFile.py b/_unittest/test_13_LoadAEDTFile.py index a165a54d314..c11cf59c46e 100644 --- a/_unittest/test_13_LoadAEDTFile.py +++ b/_unittest/test_13_LoadAEDTFile.py @@ -1,13 +1,15 @@ # Setup paths for module imports -from _unittest.conftest import local_path, scratch_path +from _unittest.conftest import local_path, scratch_path, desktop_version # Import required modules from pyaedt.generic.filesystem import Scratch from pyaedt.generic.LoadAEDTFile import load_entire_aedt_file +from pyaedt import Hfss import base64 import filecmp import os import sys +import gc def _write_jpg(design_info, scratch): @@ -75,3 +77,41 @@ def test_02_check_design_names(self): def test_03_check_first_design_jpg(self): jpg_file = _write_jpg(self.design_info[0], self.local_scratch.path) assert filecmp.cmp(jpg_file, os.path.join(local_path, "example_models", "Cassegrain_Hybrid.jpg")) + + +class TestProjectFileWithCoordinateSystems: + def setup_class(self): + with Scratch(scratch_path) as self.local_scratch: + aedt_file = os.path.join(local_path, "example_models", "Coordinate_System.aedt") + self.test_project = self.local_scratch.copyfile(aedt_file) + aedt_file = os.path.join(local_path, "example_models", "Coordinate_System1.aedt") + self.test_project1 = self.local_scratch.copyfile(aedt_file) + aedt_file = os.path.join(local_path, "example_models", "Coordinate_System2.aedt") + self.test_project2 = self.local_scratch.copyfile(aedt_file) + aedt_file = os.path.join(local_path, "example_models", "Coordinate_System3.aedt") + self.test_project3 = self.local_scratch.copyfile(aedt_file) + self.aedtapp = Hfss(specified_version=desktop_version) + + def teardown_class(self): + self.aedtapp._desktop.ClearMessages("", "", 3) + self.local_scratch.remove() + gc.collect() + + def test_01_check_can_load_aedt_file_with_multiple_coord_systems(self): + # implicitly this will test to make sure no exception is thrown by load_entire_aedt_file + assert load_entire_aedt_file(self.test_project) + + def test_02_check_coordinate_system_retrival(self): + self.aedtapp.load_project(self.test_project, close_active_proj=True) + cs = self.aedtapp.modeler.coordinate_systems + assert cs + self.aedtapp.load_project(self.test_project1, close_active_proj=True) + cs = self.aedtapp.modeler.coordinate_systems + assert cs + self.aedtapp.load_project(self.test_project2, close_active_proj=True) + cs = self.aedtapp.modeler.coordinate_systems + assert cs + self.aedtapp.load_project(self.test_project3, close_active_proj=True) + cs = self.aedtapp.modeler.coordinate_systems + assert cs + self.aedtapp.close_project() diff --git a/examples/01-Modeling-Setup/HFSS_CoordinateSystem.py b/examples/01-Modeling-Setup/HFSS_CoordinateSystem.py index c0c22099c6d..1dc743ce2a0 100644 --- a/examples/01-Modeling-Setup/HFSS_CoordinateSystem.py +++ b/examples/01-Modeling-Setup/HFSS_CoordinateSystem.py @@ -123,6 +123,71 @@ cs5 = hfss.modeler.create_coordinate_system(name="CS5", mode="axisrotation", u=[1, 0, 0], theta=123) +############################################################################### +# Create a Face Coordinate System +# ------------------------------------------------------------------- +# Face coordinate systems are bound to an object face. +# Here we create first a box and then a Face Coordinate System is defined on one of its faces. +# To create the face coordinate system a reference face, the axis starting and ending points must be specified. +box = hfss.modeler.create_box([0, 0, 0], [2, 2, 2]) +face = box.faces[0] +fcs1 = hfss.modeler.create_face_coordinate_system( + face=face, origin=face.edges[0], axis_position=face.edges[1], name="FCS1" +) + +############################################################################### +# Create a Face Coordinate System centered on the face +# ------------------------------------------------------------------- +# Here we create a Face Coordinate System centered on the face and with the X axis pointing to the edge vertex. +fcs2 = hfss.modeler.create_face_coordinate_system( + face=face, origin=face, axis_position=face.edges[0].vertices[0], name="FCS2" +) + +############################################################################### +# Swap the X and Y axis of a Face coordinate system +# ------------------------------------------------------------------- +# As default the X axis is pointing `axis_position`. Optionally the Y axis can be selected. +fcs3 = hfss.modeler.create_face_coordinate_system(face=face, origin=face, axis_position=face.edges[0], axis="Y") + +# The axis can also be changed after the coordinate system is created. +fcs3.props["WhichAxis"] = "X" +fcs3.update() + +############################################################################### +# Apply a rotation around the Z axis. +# ------------------------------------------------------------------- +# The Z axis of a Face Coordinate System is always orthogonal to the face. +# A rotation can be applied at definition. The rotation is expressed in degrees. +fcs4 = hfss.modeler.create_face_coordinate_system(face=face, origin=face, axis_position=face.edges[1], rotation=10.3) + +# The rotation can also be changed after the coordinate system is created. +fcs4.props["ZRotationAngle"] = "3deg" +fcs4.update() + +############################################################################### +# Apply an offset to the X and Y axis of a Face coordinate system +# ------------------------------------------------------------------- +# The offset is respect the Face Coordinate System itself. +fcs5 = hfss.modeler.create_face_coordinate_system( + face=face, origin=face, axis_position=face.edges[2], offset=[0.5, 0.3] +) + +# The offset can also be changed after the coordinate system is created. +fcs5.props["XOffset"] = "0.2mm" +fcs5.props["YOffset"] = "0.1mm" +fcs5.update() + +############################################################################### +# Create a coordinate system relative to a Face coordinate system +# ------------------------------------------------------------------- +# Coordinate Systems and Face Coordinate Systems interact each other. +face = box.faces[1] +fcs6 = hfss.modeler.create_face_coordinate_system(face=face, origin=face, axis_position=face.edges[0]) +cs_fcs = hfss.modeler.create_coordinate_system( + name="CS_FCS", origin=[0, 0, 0], reference_cs=fcs6.name, mode="view", view="iso" +) + + ############################################################################### # Get All Coordinate Systems # -------------------------- diff --git a/pyaedt/modeler/Modeler.py b/pyaedt/modeler/Modeler.py index a6f4f71317c..47ded0455e4 100644 --- a/pyaedt/modeler/Modeler.py +++ b/pyaedt/modeler/Modeler.py @@ -1,5 +1,5 @@ """ -This module contains these classes: `CoordinateSystem`, `Modeler`, +This module contains these classes: `BaseCoordinateSystem`, `FaceCoordinateSystem`, `CoordinateSystem`, `Modeler`, `Position`, and `SweepOptions`. This modules provides functionalities for the 3D Modeler, 2D Modeler, @@ -18,8 +18,8 @@ from pyaedt.modeler.Object3d import EdgePrimitive, FacePrimitive, VertexPrimitive, Object3d -class CoordinateSystem(object): - """Manages coordinate system data and execution. +class BaseCoordinateSystem(object): + """Base methods common to FaceCoordinateSystem and CoordinateSystem. Parameters ---------- @@ -32,47 +32,67 @@ class CoordinateSystem(object): """ - def __init__(self, modeler, props=None, name=None): + def __init__(self, modeler, name=None): self._modeler = modeler self.model_units = self._modeler.model_units self.name = name - self.props = props - self.ref_cs = None - self._quaternion = None - self.mode = None - try: - if "KernelVersion" in self.props: - del self.props["KernelVersion"] - except: - pass @aedt_exception_handler - def _dim_arg(self, Value, sUnits=None): + def _dim_arg(self, value, units=None): """Dimension argument. Parameters ---------- - Value : + value : - sUnits : optional + units : optional The default is ``None``. Returns ------- - + str """ - if sUnits is None: - sUnits = self.model_units - if type(Value) is str: + if units is None: + units = self.model_units + if type(value) is str: try: - float(Value) - val = "{0}{1}".format(Value, sUnits) + float(value) + val = "{0}{1}".format(value, units) except: - val = Value + val = value else: - val = "{0}{1}".format(Value, sUnits) + val = "{0}{1}".format(value, units) return val + @aedt_exception_handler + def delete(self): + """Delete the coordinate system. + + Returns + ------- + bool + ``True`` when successful, ``False`` when failed. + + """ + self._modeler.oeditor.Delete(["NAME:Selections", "Selections:=", self.name]) + self._modeler.coordinate_systems.remove(self) + return True + + @aedt_exception_handler + def set_as_working_cs(self): + """Set the coordinate system as the working coordinate system. + + Returns + ------- + bool + ``True`` when successful, ``False`` when failed. + + """ + self._modeler.oeditor.SetWCS( + ["NAME:SetWCS Parameter", "Working Coordinate System:=", self.name, "RegionDepCSOk:=", False] + ) + return True + @aedt_exception_handler def _change_property(self, name, arg): """Update properties of the coordinate system. @@ -92,7 +112,7 @@ def _change_property(self, name, arg): """ arguments = ["NAME:AllTabs", ["NAME:Geometry3DCSTab", ["NAME:PropServers", name], arg]] - _retry_ntimes(10, self._modeler.oeditor.ChangeProperty, arguments) + _retry_ntimes(5, self._modeler.oeditor.ChangeProperty, arguments) @aedt_exception_handler def rename(self, newname): @@ -113,6 +133,292 @@ def rename(self, newname): self.name = newname return True + +class FaceCoordinateSystem(BaseCoordinateSystem, object): + """Manages face coordinate system data and execution. + + Parameters + ---------- + modeler : + Inherited parent object. + props : dict, optional + Dictionary of properties. The default is ``None``. + name : optional + The default is ``None``. + face_id : int + Id of the face where the Face Coordinate System is laying. + + """ + + def __init__(self, modeler, props=None, name=None, face_id=None): + BaseCoordinateSystem.__init__(self, modeler, name) + self.face_id = face_id + self.props = props + try: # pragma: no cover + if "KernelVersion" in self.props: + del self.props["KernelVersion"] + except: + pass + + @property + def _part_name(self): + """Internally get the part name which the face belongs to""" + if not self.face_id: + # face_id has not been defined yet + return None + for obj in self._modeler.objects.values(): + for face in obj.faces: + if face.id == self.face_id: + return obj.name + return None # part has not been found + + @property + def _face_paramenters(self): + """Internal named array for paramenteers of the face coordinate system.""" + arg = ["Name:FaceCSParameters"] + _dict2arg(self.props, arg) + return arg + + @property + def _attributes(self): + """Internal named array for attributes of the face coordinate system.""" + coordinateSystemAttributes = ["NAME:Attributes", "Name:=", self.name, "PartName:=", self._part_name] + return coordinateSystemAttributes + + @aedt_exception_handler + def create( + self, face, origin, axis_position, axis="X", name=None, offset=None, rotation=0, always_move_to_end=True + ): + """Create a face coordinate system. + The face coordinate has always the Z axis parallel to face normal. + The X and Y axis lie on the face plane. + + Parameters + ---------- + face : int, FacePrimitive + Face where the coordinate system is defined. + origin : int, FacePrimitive, EdgePrimitive, VertexPrimitive + Specify the coordinate system origin. The origin must belong to the face where the + coordinate system is defined. + If a face is specified, the origin is placed on the face center. It must be the same as ``face``. + If an edge is specified, the origin is placed on the edge midpoint. + If a vertex is specified, the origin is placed on the vertex. + axis_position : int, FacePrimitive, EdgePrimitive, VertexPrimitive + Specify where the X or Y axis is pointing. The position must belong to the face where the + coordinate system is defined. + Select which axis is considered with the option ``axix``. + If a face is specified, the position is placed on the face center. It must be the same as ``face``. + If an edge is specified, the position is placed on the edce midpoint. + If a vertex is specified, the position is placed on the vertex. + axis : str, optional + Select which axis is considered for positioning. Possible values are ``"X"`` and ``"Y"``. + The default is ``"X"``. + name : str, optional + Name of the coordinate system. The default is ``None``. + offset : list, optional + List of the ``[x, y]`` coordinates specifying the offset of the coordinate system origin. + The offset specified in the face coordinate system reference. + The default is ``[0, 0]``. + rotation : float, optional + Rotation angle of the coordinate system around its Z axis. Angle is in degrees. + The default is ``0``. + always_move_to_end : bool, optional + If ``True`` the Face Coordinate System creation operation will always be moved to the end of subsequent + objects operation. This will guarantee that the coordinate system will remain solidal with the object + face. If ``False`` the option "Always Move CS to End" is set to off. The default is ``True``. + + Returns + ------- + bool + ``True`` when successful, ``False`` when failed. + + """ + + face_id = self._modeler.convert_to_selections(face, True)[0] + if not isinstance(face_id, int): # pragma: no cover + raise ValueError("Unable to find reference face.") + else: + self.face_id = face_id + + if isinstance(origin, int): + origin_id = origin + o_type = self._get_type_from_id(origin) + else: + origin_id = self._modeler.convert_to_selections(origin, True)[0] + if not isinstance(origin_id, int): # pragma: no cover + raise ValueError("Unable to find origin reference.") + o_type = self._get_type_from_object(origin) + if o_type == "Face": + origin_position_type = "FaceCenter" + elif o_type == "Edge": + origin_position_type = "EdgeCenter" + elif o_type == "Vertex": + origin_position_type = "OnVertex" + else: # pragma: no cover + raise ValueError("origin must identify either Face or Edge or Vertex.") + + if isinstance(axis_position, int): + axis_position_id = axis_position + o_type = self._get_type_from_id(axis_position) + else: + axis_position_id = self._modeler.convert_to_selections(axis_position, True)[0] + if not isinstance(axis_position_id, int): # pragma: no cover + raise ValueError("Unable to find origin reference.") + o_type = self._get_type_from_object(axis_position) + if o_type == "Face": + axis_position_type = "FaceCenter" + elif o_type == "Edge": + axis_position_type = "EdgeCenter" + elif o_type == "Vertex": + axis_position_type = "OnVertex" + else: # pragma: no cover + raise ValueError("axis_position must identify either Face or Edge or Vertex.") + + if axis != "X" and axis != "Y": # pragma: no cover + raise ValueError("axis must be either 'X' or 'Y'.") + + if name: + self.name = name + else: + self.name = generate_unique_name("Face_CS") + + if not offset: + offset = [0, 0] + + originParameters = OrderedDict() + originParameters["IsAttachedToEntity"] = True + originParameters["EntityID"] = origin_id + originParameters["FacetedBodyTriangleIndex"] = -1 + originParameters["TriangleVertexIndex"] = -1 + originParameters["PositionType"] = origin_position_type + originParameters["UParam"] = 0 + originParameters["VParam"] = 0 + originParameters["XPosition"] = "0" + originParameters["YPosition"] = "0" + originParameters["ZPosition"] = "0" + + positioningParameters = OrderedDict() + positioningParameters["IsAttachedToEntity"] = True + positioningParameters["EntityID"] = axis_position_id + positioningParameters["FacetedBodyTriangleIndex"] = -1 + positioningParameters["TriangleVertexIndex"] = -1 + positioningParameters["PositionType"] = axis_position_type + positioningParameters["UParam"] = 0 + positioningParameters["VParam"] = 0 + positioningParameters["XPosition"] = "0" + positioningParameters["YPosition"] = "0" + positioningParameters["ZPosition"] = "0" + + parameters = OrderedDict() + parameters["Origin"] = originParameters + parameters["MoveToEnd"] = always_move_to_end + parameters["FaceID"] = face_id + parameters["AxisPosn"] = positioningParameters + parameters["WhichAxis"] = axis + parameters["ZRotationAngle"] = str(rotation) + "deg" + parameters["XOffset"] = self._dim_arg((offset[0]), self.model_units) + parameters["YOffset"] = self._dim_arg((offset[1]), self.model_units) + parameters["AutoAxis"] = False + + self.props = parameters + self._modeler.oeditor.CreateFaceCS(self._face_paramenters, self._attributes) + + return True + + @aedt_exception_handler + def _get_type_from_id(self, obj_id): + """Get the entity type from the id""" + for obj in self._modeler.objects.values(): + if obj.id == obj_id: + return "3dObject" + for face in obj.faces: + if face.id == obj_id: + return "Face" + for edge in face.edges: + if edge.id == obj_id: + return "Edge" + for vertex in edge.vertices: + if vertex.id == obj_id: + return "Vertex" + raise ValueError("Cannot find entity id {}".format(obj_id)) # pragma: no cover + + @aedt_exception_handler + def _get_type_from_object(self, obj): + """Get the entity type from the object""" + if type(obj) is FacePrimitive: + return "Face" + elif type(obj) is EdgePrimitive: + return "Edge" + elif type(obj) is VertexPrimitive: + return "Vertex" + elif type(obj) is Object3d: + return "3dObject" + else: # pragma: no cover + raise ValueError("Cannot detect the entity type.") + + @aedt_exception_handler + def update(self): + """Update the coordinate system. + + Returns + ------- + bool + ``True`` when successful, ``False`` when failed. + + """ + try: + self._change_property( + self.name, ["NAME:ChangedProps", ["NAME:Z Rotation angle", "Value:=", self.props["ZRotationAngle"]]] + ) + except: # pragma: no cover + raise ValueError("'Z Rotation angle' parameter must be a string in the format '10deg'") + + try: + self._change_property( + self.name, + [ + "NAME:ChangedProps", + ["NAME:Position Offset XY", "X:=", self.props["XOffset"], "Y:=", self.props["YOffset"]], + ], + ) + except: # pragma: no cover + raise ValueError("'XOffset' and 'YOffset' parameters must be a string in the format '1.3mm'") + + try: + self._change_property(self.name, ["NAME:ChangedProps", ["NAME:Axis", "Value:=", self.props["WhichAxis"]]]) + except: # pragma: no cover + raise ValueError("'WhichAxis' parameter must be either 'X' or 'Y'") + + return True + + +class CoordinateSystem(BaseCoordinateSystem, object): + """Manages coordinate system data and execution. + + Parameters + ---------- + modeler : + Inherited parent object. + props : dict, optional + Dictionary of properties. The default is ``None``. + name : optional + The default is ``None``. + + """ + + def __init__(self, modeler, props=None, name=None): + BaseCoordinateSystem.__init__(self, modeler, name) + self.model_units = self._modeler.model_units + self.props = props + self.ref_cs = None + self._quaternion = None + self.mode = None + try: # pragma: no cover + if "KernelVersion" in self.props: + del self.props["KernelVersion"] + except: + pass + @aedt_exception_handler def update(self): """Update the coordinate system. @@ -127,7 +433,7 @@ def update(self): try: self._change_property(self.name, ["NAME:ChangedProps", ["NAME:Mode", "Value:=", self.props["Mode"]]]) - except: + except: # pragma: no cover raise ValueError( "Mode must be 'Axis/Position', 'Euler Angle ZYZ' or 'Euler Angle ZXZ', not {}.".format( self.props["Mode"] @@ -277,7 +583,7 @@ def change_cs_mode(self, mode_type=0): del self.props["YAxisZvec"] self.mode = "zyz" self.update() - else: + else: # pragma: no cover raise ValueError('mode_type=0 for "Axis/Position", =1 for "Euler Angle ZXZ", =2 for "Euler Angle ZYZ"') return True @@ -352,7 +658,8 @@ def create( Returns ------- - :class:`pyaedt.modeler.Modeler.CoordinateSystem` + bool + ``True`` when successful, ``False`` when failed. """ if not origin: @@ -407,7 +714,7 @@ def create( orientationParameters["YAxisXvec"] = "-1mm" orientationParameters["YAxisYvec"] = "1mm" orientationParameters["YAxisZvec"] = "0mm" - else: + else: # pragma: no cover raise ValueError("With mode = 'view', specify view = 'XY', 'XZ', 'XY', 'iso' ") elif mode == "axis": @@ -442,11 +749,12 @@ def create( orientationParameters["Phi"] = self._dim_arg(phi, "deg") orientationParameters["Theta"] = self._dim_arg(theta, "deg") orientationParameters["Psi"] = self._dim_arg(psi, "deg") - else: + else: # pragma: no cover raise ValueError("Specify the mode = 'view', 'axis', 'zxz', 'zyz', 'axisrotation' ") self.props = orientationParameters - self._modeler.oeditor.CreateRelativeCS(self.orientation, self.attributes) + self._modeler.oeditor.CreateRelativeCS(self._orientation, self._attributes) + # this workaround is necessary because the reference CS is ignored at creation, it needs to be modified later self.ref_cs = reference_cs self.update() @@ -505,47 +813,18 @@ def quaternion(self): return self._quaternion @property - def orientation(self): + def _orientation(self): """Internal named array for orientation of the coordinate system.""" arg = ["Name:RelativeCSParameters"] _dict2arg(self.props, arg) return arg @property - def attributes(self): + def _attributes(self): """Internal named array for attributes of the coordinate system.""" coordinateSystemAttributes = ["NAME:Attributes", "Name:=", self.name] return coordinateSystemAttributes - @aedt_exception_handler - def delete(self): - """Delete the coordinate system. - - Returns - ------- - bool - ``True`` when successful, ``False`` when failed. - - """ - self._modeler.oeditor.Delete(["NAME:Selections", "Selections:=", self.name]) - self._modeler.coordinate_systems.remove(self) - return True - - @aedt_exception_handler - def set_as_working_cs(self): - """Set the coordinate system as the working coordinate system. - - Returns - ------- - bool - ``True`` when successful, ``False`` when failed. - - """ - self._modeler.oeditor.SetWCS( - ["NAME:SetWCS Parameter", "Working Coordinate System:=", self.name, "RegionDepCSOk:=", False] - ) - return True - class Modeler(object): """Provides the `Modeler` application class that other `Modeler` classes inherit. @@ -682,71 +961,140 @@ def _get_coordinates_data(self): for ds in cs: try: if isinstance(cs[ds], (OrderedDict, dict)): - props = cs[ds]["RelativeCSParameters"] - name = cs[ds]["Attributes"]["Name"] - cs_id = cs[ds]["ID"] - id2name[cs_id] = name - name2refid[name] = cs[ds]["ReferenceCoordSystemID"] - coord.append(CoordinateSystem(self, props, name)) - elif type(cs[ds]) is list: - for el in cs[ds]: - props = el["RelativeCSParameters"] - name = el["Attributes"]["Name"] - cs_id = el["ID"] + if cs[ds]["OperationType"] == "CreateRelativeCoordinateSystem": + props = cs[ds]["RelativeCSParameters"] + name = cs[ds]["Attributes"]["Name"] + cs_id = cs[ds]["ID"] id2name[cs_id] = name - name2refid[name] = el["ReferenceCoordSystemID"] + name2refid[name] = cs[ds]["ReferenceCoordSystemID"] coord.append(CoordinateSystem(self, props, name)) + elif cs[ds]["OperationType"] == "CreateFaceCoordinateSystem": + name = cs[ds]["Attributes"]["Name"] + cs_id = cs[ds]["ID"] + id2name[cs_id] = name + op_id = cs[ds]["PlaceHolderOperationID"] + geometry_part = self._app.design_properties["ModelSetup"]["GeometryCore"][ + "GeometryOperations" + ]["ToplevelParts"]["GeometryPart"] + if isinstance(geometry_part, (OrderedDict, dict)): + op = geometry_part["Operations"]["FaceCSHolderOperation"] + if isinstance(op, (OrderedDict, dict)): + if op["ID"] == op_id: + props = op["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + elif isinstance(op, list): + for iop in op: + if iop["ID"] == op_id: + props = iop["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + break + elif isinstance(geometry_part, list): + for gp in geometry_part: + op = gp["Operations"]["FaceCSHolderOperation"] + if isinstance(op, (OrderedDict, dict)): + if op["ID"] == op_id: + props = op["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + elif isinstance(op, list): + for iop in op: + if iop["ID"] == op_id: + props = iop["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + break + elif isinstance(cs[ds], list): + for el in cs[ds]: + if el["OperationType"] == "CreateRelativeCoordinateSystem": + props = el["RelativeCSParameters"] + name = el["Attributes"]["Name"] + cs_id = el["ID"] + id2name[cs_id] = name + name2refid[name] = el["ReferenceCoordSystemID"] + coord.append(CoordinateSystem(self, props, name)) + elif el["OperationType"] == "CreateFaceCoordinateSystem": + name = el["Attributes"]["Name"] + cs_id = el["ID"] + id2name[cs_id] = name + op_id = el["PlaceHolderOperationID"] + geometry_part = self._app.design_properties["ModelSetup"]["GeometryCore"][ + "GeometryOperations" + ]["ToplevelParts"]["GeometryPart"] + if isinstance(geometry_part, (OrderedDict, dict)): + op = geometry_part["Operations"]["FaceCSHolderOperation"] + if isinstance(op, (OrderedDict, dict)): + if op["ID"] == op_id: + props = op["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + elif isinstance(op, list): + for iop in op: + if iop["ID"] == op_id: + props = iop["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + break + elif isinstance(geometry_part, list): + for gp in geometry_part: + op = gp["Operations"]["FaceCSHolderOperation"] + if isinstance(op, (OrderedDict, dict)): + if op["ID"] == op_id: + props = op["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + elif isinstance(op, list): + for iop in op: + if iop["ID"] == op_id: + props = iop["FaceCSParameters"] + coord.append(FaceCoordinateSystem(self, props, name)) + break except: pass for cs in coord: - try: - cs.ref_cs = id2name[name2refid[cs.name]] - if cs.props["Mode"] == "Axis/Position": - x1 = GeometryOperators.parse_dim_arg( - cs.props["XAxisXvec"], variable_manager=self._app.variable_manager - ) - x2 = GeometryOperators.parse_dim_arg( - cs.props["XAxisYvec"], variable_manager=self._app.variable_manager - ) - x3 = GeometryOperators.parse_dim_arg( - cs.props["XAxisZvec"], variable_manager=self._app.variable_manager - ) - y1 = GeometryOperators.parse_dim_arg( - cs.props["YAxisXvec"], variable_manager=self._app.variable_manager - ) - y2 = GeometryOperators.parse_dim_arg( - cs.props["YAxisYvec"], variable_manager=self._app.variable_manager - ) - y3 = GeometryOperators.parse_dim_arg( - cs.props["YAxisZvec"], variable_manager=self._app.variable_manager - ) - x, y, z = GeometryOperators.pointing_to_axis([x1, x2, x3], [y1, y2, y3]) - a, b, g = GeometryOperators.axis_to_euler_zyz(x, y, z) - cs.quaternion = GeometryOperators.euler_zyz_to_quaternion(a, b, g) - elif cs.props["Mode"] == "Euler Angle ZXZ": - a = GeometryOperators.parse_dim_arg( - cs.props["Phi"], variable_manager=self._app.variable_manager - ) - b = GeometryOperators.parse_dim_arg( - cs.props["Theta"], variable_manager=self._app.variable_manager - ) - g = GeometryOperators.parse_dim_arg( - cs.props["Psi"], variable_manager=self._app.variable_manager - ) - cs.quaternion = GeometryOperators.euler_zxz_to_quaternion(a, b, g) - elif cs.props["Mode"] == "Euler Angle ZYZ": - a = GeometryOperators.parse_dim_arg( - cs.props["Phi"], variable_manager=self._app.variable_manager - ) - b = GeometryOperators.parse_dim_arg( - cs.props["Theta"], variable_manager=self._app.variable_manager - ) - g = GeometryOperators.parse_dim_arg( - cs.props["Psi"], variable_manager=self._app.variable_manager - ) - cs.quaternion = GeometryOperators.euler_zyz_to_quaternion(a, b, g) - except: - pass + if isinstance(cs, CoordinateSystem): + try: + cs.ref_cs = id2name[name2refid[cs.name]] + if cs.props["Mode"] == "Axis/Position": + x1 = GeometryOperators.parse_dim_arg( + cs.props["XAxisXvec"], variable_manager=self._app.variable_manager + ) + x2 = GeometryOperators.parse_dim_arg( + cs.props["XAxisYvec"], variable_manager=self._app.variable_manager + ) + x3 = GeometryOperators.parse_dim_arg( + cs.props["XAxisZvec"], variable_manager=self._app.variable_manager + ) + y1 = GeometryOperators.parse_dim_arg( + cs.props["YAxisXvec"], variable_manager=self._app.variable_manager + ) + y2 = GeometryOperators.parse_dim_arg( + cs.props["YAxisYvec"], variable_manager=self._app.variable_manager + ) + y3 = GeometryOperators.parse_dim_arg( + cs.props["YAxisZvec"], variable_manager=self._app.variable_manager + ) + x, y, z = GeometryOperators.pointing_to_axis([x1, x2, x3], [y1, y2, y3]) + a, b, g = GeometryOperators.axis_to_euler_zyz(x, y, z) + cs.quaternion = GeometryOperators.euler_zyz_to_quaternion(a, b, g) + elif cs.props["Mode"] == "Euler Angle ZXZ": + a = GeometryOperators.parse_dim_arg( + cs.props["Phi"], variable_manager=self._app.variable_manager + ) + b = GeometryOperators.parse_dim_arg( + cs.props["Theta"], variable_manager=self._app.variable_manager + ) + g = GeometryOperators.parse_dim_arg( + cs.props["Psi"], variable_manager=self._app.variable_manager + ) + cs.quaternion = GeometryOperators.euler_zxz_to_quaternion(a, b, g) + elif cs.props["Mode"] == "Euler Angle ZYZ": + a = GeometryOperators.parse_dim_arg( + cs.props["Phi"], variable_manager=self._app.variable_manager + ) + b = GeometryOperators.parse_dim_arg( + cs.props["Theta"], variable_manager=self._app.variable_manager + ) + g = GeometryOperators.parse_dim_arg( + cs.props["Psi"], variable_manager=self._app.variable_manager + ) + cs.quaternion = GeometryOperators.euler_zyz_to_quaternion(a, b, g) + except: + pass return coord def __get__(self, instance, owner): @@ -1034,6 +1382,77 @@ def create_coordinate_system( return cs return False + @aedt_exception_handler + def create_face_coordinate_system( + self, face, origin, axis_position, axis="X", name=None, offset=None, rotation=0, always_move_to_end=True + ): + """Create a face coordinate system. + The face coordinate has always the Z axis parallel to face normal. + The X and Y axis lie on the face plane. + + Parameters + ---------- + face : int, FacePrimitive + Face where the coordinate system is defined. + origin : int, FacePrimitive, EdgePrimitive, VertexPrimitive + Specify the coordinate system origin. The origin must belong to the face where the + coordinate system is defined. + If a face is specified, the origin is placed on the face center. It must be the same as ``face``. + If an edge is specified, the origin is placed on the edge midpoint. + If a vertex is specified, the origin is placed on the vertex. + axis_position : int, FacePrimitive, EdgePrimitive, VertexPrimitive + Specify where the X or Y axis is pointing. The position must belong to the face where the + coordinate system is defined. + Select which axis is considered with the option ``axix``. + If a face is specified, the position is placed on the face center. It must be the same as ``face``. + If an edge is specified, the position is placed on the edce midpoint. + If a vertex is specified, the position is placed on the vertex. + axis : str, optional + Select which axis is considered for positioning. Possible values are ``"X"`` and ``"Y"``. + The default is ``"X"``. + name : str, optional + Name of the coordinate system. The default is ``None``. + offset : list, optional + List of the ``[x, y]`` coordinates specifying the offset of the coordinate system origin. + The offset specified in the face coordinate system reference. + The default is ``[0, 0]``. + rotation : float, optional + Rotation angle of the coordinate system around its Z axis. Angle is in degrees. + The default is ``0``. + always_move_to_end : bool, optional + If ``True`` the Face Coordinate System creation operation will always be moved to the end of subsequent + objects operation. This will guarantee that the coordinate system will remain solidal with the object + face. If ``False`` the option "Always Move CS to End" is set to off. The default is ``True``. + + Returns + ------- + :class:`pyaedt.modeler.Modeler.FaceCoordinateSystem` + + """ + + if name: + cs_names = [i.name for i in self.coordinate_systems] + if name in cs_names: # pragma: no cover + raise AttributeError("A coordinate system with the specified name already exists!") + + cs = FaceCoordinateSystem(self) + if cs: + result = cs.create( + face=face, + origin=origin, + axis_position=axis_position, + axis=axis, + name=name, + offset=offset, + rotation=rotation, + always_move_to_end=always_move_to_end, + ) + + if result: + self.coordinate_systems.append(cs) + return cs + return False + @aedt_exception_handler def global_to_cs(self, point, ref_cs): """Transform a point from the global coordinate system to another coordinate system. @@ -1098,7 +1517,7 @@ def set_working_coordinate_system(self, name): Parameters ---------- - name : str + name : str, FaceCoordinateSystem, CoordinateSystem Name of the coordinate system to set as the working coordinate system. Returns @@ -1111,7 +1530,14 @@ def set_working_coordinate_system(self, name): >>> oEditor.SetWCS """ - self.oeditor.SetWCS(["NAME:SetWCS Parameter", "Working Coordinate System:=", name, "RegionDepCSOk:=", False]) + if isinstance(name, BaseCoordinateSystem): + self.oeditor.SetWCS( + ["NAME:SetWCS Parameter", "Working Coordinate System:=", name.name, "RegionDepCSOk:=", False] + ) + else: + self.oeditor.SetWCS( + ["NAME:SetWCS Parameter", "Working Coordinate System:=", name, "RegionDepCSOk:=", False] + ) return True @aedt_exception_handler @@ -1631,7 +2057,7 @@ def convert_to_selections(self, objtosplit, return_list=False): objnames.append(el) elif isinstance(el, Object3d): objnames.append(el.name) - elif isinstance(el, FacePrimitive): + elif isinstance(el, FacePrimitive) or isinstance(el, EdgePrimitive) or isinstance(el, VertexPrimitive): objnames.append(el.id) elif isinstance(el, str): objnames.append(el)