UpdateDefFromBlock

Updates a material definition from block text (same definition format as would be contained in the material library file) by library type (using definition folder name). This scripting command directly supports the .AMAT (or .ASURF) definition formats.

UI Access N/A
Parameters
Name

 

Type Description

<targetDefName>

String

Name of the target definition, i.e. the name of the material to update.

<defBlock> String Text of the new material definition in block format (string); this block could use a new definition name, which will cause a rename as part of the update.
<defFolderName> String Library type (by definition, folder name).

<newTimeStamp>

String

New timestamp string (time_t as integer, number of seconds since 1/1/1970 12:00am), default is current time.

Return Value A property scripting object for the definition.

Python Syntax UpdateDefFromBlock(<targetDefName>, <defBlock>, <defFolderName>, <newTimeStamp>)
Python Example

oProject = oDesktop.NewProject()

oProject.InsertDesign("HFSS", "HFSSDesign1", "DrivenModal", "")

oDesign = oProject.SetActiveDesign("HFSSDesign1")

oEditor = oDesign.SetActiveEditor("3D Modeler")

oDefinitionManager = oProject.GetDefinitionManager()

defBlock = "$begin 'vacuum2' $begin 'AttachedData' $begin 'MatAppearanceData' property_data='appearance_data' Red=230 Green=230 Blue=230 Transparency=0.95 $end 'MatAppearanceData' $end 'AttachedData' simple('permittivity', 1) ModTime=1499970477 $end 'vacuum2'"

added = oDefinitionManager.AddDefinitionFromBlock(defBlock, "Materials", "10101010", True)

addedName = ''

if isinstance(added, basestring):

addedName = added

elif isinstance(added, list):

addedName = added[0]

else:

addedName = added.GetName().replace("Materials:", "")

AddInfoMessage(os.path.basename(__file__) + " result: " + addedName)

materialNameInQuotes = "\"" + addedName + "\""

# rename vacuum2 to vacuum3

newDefBlock = "$begin 'vacuum3' $begin 'AttachedData' $begin 'MatAppearanceData' property_data='appearance_data' Red=230 Green=230 Blue=230 Transparency=0.95 $end 'MatAppearanceData' $end 'AttachedData' simple('permittivity', 1) ModTime=1499970477 $end 'vacuum3'"

updatedObj = UpdateDefFromBlock(addedName, newDefBlock, "Materials")