コード例 #1
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Create trajectories"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Instructions:</span></p><ol>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">refinement diameter </span><span style="color:#A9A9A9;">(usually 4x the plate thickness)</span></li>	<li><span style="color:#A9A9A9;">Click </span><span style="color:#00FFFF;">Import CSV files </span><span style="color:#A9A9A9;">button (trajectories from </span><span style="color:#FF0000;">Simufact Welding</span><span style="color:#A9A9A9;">)</span></li>	<li><span style="color:#A9A9A9;">Check if the number of trajectories is what you have selected</span></li>	<li><span style="color:#A9A9A9;">Click </span><span style="color:#00FFFF;">Create trajectories </span><span style="color:#A9A9A9;">button</span></li></ol><ul>	<li><span style="color:#A9A9A9;">Use this tool to create curved cylindrical shapes at the same location of weld trajectories.</span></li>	<li><span style="color:#A9A9A9;">These locations will be used to split the surface/bodies to create defined zones for refined meshing.</span></li>	<li><span style="color:#A9A9A9;">Trajectory information has to come in </span><span style="color:#FF0000;">Simufact Welding </span><span style="color:#A9A9A9;">format.</span></li></ul></body></html>'

    return my_toolProperty
コード例 #2
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Heat source calculator"
    my_toolProperty.WorkFlowInstructions = '''
   <html><body>
   
   <p><strong><span style="color: #999999;">Heat source generator (arc)</span></strong></p>
<p><br /><span style="color: #999999;">This tool is used to estimate and generate heat source configurations for Simufact Welding. Please consider the estimated parameters as an initial guess.</span></p>
<p></p>
<ul>
<li><span style="color: #999999;"><span style="color: #00ccff;">Travel speed (cm/min)</span>: this value represents the (average) velocity of the torch or whatever device is carrying the heat source.</span></li>
<li><span style="color: #999999;"><span style="color: #00ccff;">Current (amps)</span>: amount of electrical current imparted by the power source.</span></li>
<li><span style="color: #999999;"><span style="color: #00ccff;">Voltage (volts)</span>: amount of electrical voltage imparted by the power source.</span></li>
<li><span style="color: #999999;"><span style="color: #00ccff;">Efficiency</span>: parameter utilized for correlating the nominal values from the power source with the actual heat output at the tip of the torch/wire.</span></li>
</ul>
<p></p>
<p><span style="color: #999999;">Current and voltage values do not influence the resulting values independently. They are used by multiplying the travel speed to get the energy-per-length parameter. </span><span style="color: #999999;">Once input is correct and estimated bead size is matching the expected, click the export button to generate a separate file. </span><span style="color: #999999;"></span><span style="color: #999999;">This file can be used directly in a Simufact Welding simulation that uses the double ellipsoid model as heat source (arc welding).</span></p>
<p><span style="color: #999999;"></span></p>
<p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
<p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>


   </body></html>'''

    return my_toolProperty
コード例 #3
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Slice body"
    my_toolProperty.WorkFlowInstructions = '''<p><strong><span style="color: #999999;">DED - Vertical slicing<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tool was designed to help with slicing geometries vertically.</span></p>
    <ul>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Layer height (mm)</span>: expected/desired layer height<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Do not create multiple solids</span>: this option will create body partitions instead of splitting the body into multiple solids</span><span style="color: #999999;"><span style="color: #00ccff;"></span></span><span style="color: #999999;"><span style="color: #00ccff;"></span></span></li>
    </ul>
    <p><span style="color: #999999;">Workflow:</span></p>
    <ol>
    <li><span style="color: #999999;">Define the layer height</span></li>
    <li><span style="color: #999999;">Choose whether to create multiple solids or not</span></li>
    <li><span style="color: #999999;">Select the starting face of the splitting</span></li>
    <li><span style="color: #999999;">Click Slice geometry</span></li>
    </ol>
    <p><span style="color: #999999;">Selected starting face defines the body to be sliced (the body to which the surface belongs).</span></p>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>'''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #4
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Create T joint"
    my_toolProperty.WorkFlowInstructions = '''
   <html><body>

   <p><span style="color: #999999;">Instructions:</span></p>
<p></p>
<p><span style="color: #999999;">Use this tool to create an T-JOINT based on:</span></p>
<ul>
<li><span style="color: #00ccff;">Joint width</span></li>
<li><span style="color: #00ccff;">Joint length</span></li>
<li><span style="color: #00ccff;">Base plate thickness</span></li>
<li><span style="color: #00ccff;">Web plate thickness<br /></span></li>
</ul>
<p><span style="color: #999999;">By checking <span style="color: #00ccff;">Mesh the joint for me</span>, Apex will also split the geometry and mesh it with recommended mesh size based on the provided thickness information.</span></p>
<p></p>
<p><span style="color: #999999;">Click the <span style="color: #00ccff;">Build joint</span> button to create the model.</span></p>
<p></p>
<p><span style="color: #999999;">The initial purpose of this tool is to provide a fast way to create simplified versions of real models' joints to perform thermal calibration on Simufact Welding. This way, one can calibrate the heat source faster and more accurately.</span></p>
<p></p>
<p><span style="color: #999999;">For support: <a href="mailto:[email protected]" style="color: #999999;"><span style="color: #ff0000;">[email protected]</span></a></span></p>
<p></p>
   
   </body></html>'''

    return my_toolProperty
コード例 #5
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Find bodies within distance"
    my_toolProperty.WorkFlowInstructions = '''
    <p><strong><span style="color: #999999;">Find fixture<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tools uses the distance search algorithm to find bodies in contact with the selected assembly.<br /></span></p>
    <ul>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Distance (mm)</span>: Search distance.<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Separate in new assembly</span>: Check this option if you want to separate the bodies found within the specified distance. This is usually the expected behavior.</span><span style="color: #999999;"><br /></span></li>
    </ul>
    <p><span style="color: #999999;">Workflow:</span></p>
    <ol>
    <li><span style="color: #999999;">Define the search distance<br /></span></li>
    <li><span style="color: #999999;">Select/skip separate in new assembly<br /></span></li>
    <li><span style="color: #999999;">Select an assembly containing the reference geometries</span></li>
    <li><span style="color: #999999;">Click find close parts<br /></span></li>
    </ol>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #6
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Round corners"
    my_toolProperty.WorkFlowInstructions = '''
        <p><strong><span style="color: #999999;">Round corners<br /></span></strong></p>
        <p><span style="color: #999999;">Description: This tool creates fillets at the corners of selected faces. This helps with improving contact when running simulations.<br /></span></p>
        <ul>
        <li><span style="color: #999999;"><span style="color: #00ccff;">Corner radius</span>: Fillet size definition<br /></span></li>
        <li><span style="color: #999999;"><span style="color: #00ccff;">Round selected faces</span>: Click to perform the filleting <br /></span></li>
        </ul>
        <p><span style="color: #999999;">Workflow:</span></p>
        <ol>
        <li><span style="color: #999999;">Select the faces to be filleted<br /></span></li>
        <li><span style="color: #999999;">Define fillet radius size</span><span style="color: #999999;"><br /></span></li>
        <li><span style="color: #999999;">Click round selected faces button<br /></span></li>
        </ol>
        <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
        <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #7
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Get trajectory from edge"
    my_toolProperty.WorkFlowInstructions = '''
        <p><strong><span style="color: #999999;">Get trajectory tool<br /></span></strong></p>
        <p><span style="color: #999999;">Description: This tool was designed to help extracting trajectory information to be used in Simufact Welding.<br /></span></p>
        <ul>
        <li><span style="color: #999999;"><span style="color: #00ccff;">Calculate normal direction</span>: Using this option the user also gets the normal direction at the points of the trajectory.</span><span style="color: #999999;"></span><span style="color: #999999;"></span></li>
        <li><span style="color: #999999;"><span style="color: #00ccff;">Get trajectory from edge</span>: Extract trajectories from selected edges.<br /></span></li>
        </ul>
        <p><span style="color: #999999;">Workflow:</span></p>
        <ol>
        <li><span style="color: #999999;">Select the edges you want to create trajectories from (one or multiple)<br /></span></li>
        <li><span style="color: #999999;">Define whether you need the normal direction by marking the checkbox<br /></span></li>
        <li><span style="color: #999999;">Click get trajectory from edge<br /></span></li>
        </ol>
        <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
        <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #8
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    my_toolProperty.TitleText = "AuFast 1.6"

    file_path = os.path.dirname(os.path.realpath(__file__))
    #my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(file_path), r'..\\icons\\auFast.png')
    my_toolProperty.TitleImageUriString = file_path + "./auFast.png"

    my_toolProperty.WorkFlowInstructions = """<HTML><BODY><P STYLE=\"font-size:10;\"><SPAN>AuFast 1.4</SPAN></P>
	<P><SPAN> </SPAN></P>
	<P><SPAN>This script creates hole-to-hole fastener connections for surface-to-surface, surface-to-solid, and solid-to-solid connections.</SPAN></P>
	<P STYLE=\"font-size:10;\"><SPAN>Send questions, comments and Elvis sightings to [email protected]</SPAN></P></BODY></HTML>"""

    #handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))
    # handle exit button (red) click event
    my_toolProperty.ExitCommand = apex_sdk.ActionCommand(
        System.Action(HandleExitButton))

    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    #define pickFiterTools
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.IsCustomTool = True
    #setPickFilterTools()
    my_toolProperty.PickFilterList = setPickFilterTools()

    return my_toolProperty
コード例 #9
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Mesh refinement regions"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Instructions:</span></p><ol>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">mesh size </span><span style="color:#A9A9A9;">in millimeters.</span></li>	<li><span style="color:#A9A9A9;">Click the </span><span style="color:#00FFFF;">Mesh partitions </span><span style="color:#A9A9A9;">button.</span></li></ol><ul>	<li><span style="color:#A9A9A9;">Information from the created trajectories combined with partitions will be used to create a finer mesh on those specific locations.</span></li>	<li><span style="color:#A9A9A9;">Make sure you select and appropriate mesh size to capture the welding effects.</span></li>	<li><span style="color:#A9A9A9;">Some general rules:</span>	<ul>		<li><span style="color:#ADD8E6;">Arc Welding: </span><span style="color:#A9A9A9;">check the size of your heat source first and make sure you have at least four elements along the welding direction, two elements accross the width and two elements in the depth.</span></li>		<li><span style="color:#AFEEEE;">Laser Welding: </span><span style="color:#A9A9A9;">check the size of your heat source first and make sure you have at least two elements in the diameter and five elements in the depth.</span></li>		<li><span style="color:#AFEEEE;">RSW: </span><span style="color:#A9A9A9;">check the size of your electrode first and make sure you have at least eight elements in the diamater.</span></li>	</ul>	</li>	<li><span style="color:#A9A9A9;">Refer to the infosheets in </span><span style="color:#FF0000;">Simufact Welding </span><span style="color:#A9A9A9;">for a more detailed explanation.</span></li></ul></body></html>'

    return my_toolProperty
コード例 #10
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  AWS D8.9M lap shear coupon"
    my_toolProperty.WorkFlowInstructions = ''' Doc '''

    return my_toolProperty
コード例 #11
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Create spot locations"
    my_toolProperty.WorkFlowInstructions = ""

    return my_toolProperty
コード例 #12
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Define refinement regions"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Instructions:</span></p><ol>	<li><span style="color:#A9A9A9;">Click the </span><span style="color:#00FFFF;">Split at weld trajectories </span><span style="color:#A9A9A9;">button.</span></li></ol><ul>	<li><span style="color:#A9A9A9;">If you have created the expanded trajectories, this tool will use them to split the visible surfaces in order to create refinement zones (partitions).</span></li>	<li><span style="color:#A9A9A9;">These partitions can then receive a finer mesh to capture the welding effects properly.</span></li></ul></body></html>'

    return my_toolProperty
コード例 #13
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Rename part after assembly"
    my_toolProperty.WorkFlowInstructions = "Rename all single parts in an assembly with the assembly name. This helps identifying the mesh after exporting."

    return my_toolProperty
コード例 #14
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Mesh coarser regions"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Instructions:</span></p><ol>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">mesh size </span><span style="color:#A9A9A9;">in millimeter.</span></li>	<li><span style="color:#A9A9A9;">Click the </span><span style="color:#00FFFF;">Mesh outside region </span><span style="color:#A9A9A9;">button.</span></li></ol><ul>	<li><span style="color:#A9A9A9;">Information from the created trajectories combined with partitions will be used to create a coarser mesh outside of those specific locations.</span></li>	<li><span style="color:#A9A9A9;">Make sure you select and appropriate mesh size to capture the welding effects (structural response).</span></li>	<li><span style="color:#A9A9A9;">Do not use more than a 4x growth ratio between two adjacent regions (e.g.: finer mesh of 2mm and coarser mesh of max 8mm)</span></li>	<li><span style="color:#A9A9A9;">If your structure/component is very big, consider splitting it into multiple locations to control mesh transition.</span></li></ul></body></html>'

    return my_toolProperty
コード例 #15
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Filter meshed components"
    my_toolProperty.WorkFlowInstructions = ""

    return my_toolProperty
コード例 #16
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Extract and map midsurface"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Operation: Click the </span><span style="color:#40E0D0;">Extract and annotate thickness </span><span style="color:#A9A9A9;"> button</span></p><ul><li><span style="color:#A9A9A9;">This tool is used to extract the midsurface of single-thickness parts.</span></li><li><span style="color:#A9A9A9;">By extracting the midsurface, the user has more flexibility to control the mesh in a 2D format.</span></li><li><span style="color:#A9A9A9;">The midsurface is a surface object that is created under the same locaton as the originating solid.</span></li><li><span style="color:#A9A9A9;">The thickness value will be annotated in the part name to be later referred to in </span><span style="color:#FF0000;">Simufact Welding</span><span style="color:#A9A9A9;">.</span></li></ul><p><span style="color:#A9A9A9;">2D meshes of components will be converted back to a 3D mesh when importing the file in </span><span style="color:#FF0000;">Simufact Welding </span><span style="color:#A9A9A9;"> by assigning a thickness and number of layers to it.</span></p></body></html>'

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #17
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Arc welding automesh"
    my_toolProperty.WorkFlowInstructions = '<html><body><p><span style="color:#A9A9A9;">Instructions:</span></p><ol>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">finer mesh size </span><span style="color:#A9A9A9;">in millimeters.</span></li>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">coarser mesh size </span><span style="color:#A9A9A9;">in millimeters.</span></li>	<li><span style="color:#A9A9A9;">Define the </span><span style="color:#00FFFF;">refinement diameter </span><span style="color:#A9A9A9;">in millmeters.</span></li>	<li><span style="color:#A9A9A9;">Click the </span><span style="color:#00FFFF;">Mesh outside region </span><span style="color:#A9A9A9;">button.</span></li>	<li><span style="color:#A9A9A9;">Click the </span><span style="color:#00FFFF;">Automesh for arc welding </span><span style="color:#A9A9A9;">button.</span></li></ol><ul>	<li><span style="color:#A9A9A9;">By making calls to the individual meshing tools, this operation will perform all commands in sequence.</span></li>	<li><span style="color:#A9A9A9;">Make sure you have defined the proper mesh sizes and refinement areas.</span></li>	<li><span style="color:#A9A9A9;">You can perform individual operations again once the automesh finishes to adjust other parameters.</span></li></ul></body></html>'

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #18
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Create reference planes"
    my_toolProperty.WorkFlowInstructions = '''
   <p><strong><span style="color: #999999;">Create reference planes<br /></span></strong></p>
   <p><span style="color: #999999;">Description: This tools creates the three reference planes in the (0,0,0) location. A new part will be created at the model level to contain the three planes (small surfaces).<br /></span></p>
   <p><span style="color: #999999;">Workflow:</span></p>
   <ol>
   <li><span style="color: #999999;">Click create planes</span><span style="color: #999999;"></span></li>
   </ol>
   <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
   <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
   '''

    return my_toolProperty
コード例 #19
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Hatching layers"
    my_toolProperty.WorkFlowInstructions = '''<p><strong><span style="color: #999999;">DED - Hatching tool<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tool was designed to help with hatching layers of sliced geometry.<br /></span></p>
    <ul>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Trajec. spacing (mm)</span>: Distance between two trajectories calculated from the centerline.<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Point spacing (mm)</span>: Distance between two points of a trajectory (sampling resolution)</span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Angular cut</span>: Algorithm to vary the angular cut</span><span style="color: #999999;"></span>
    <ul>
    <li><span style="color: #999999;"><span style="color: #ff6600;">Single angle</span>: one single angle will be used for all layers</span></li>
    <li><span style="color: #999999;"><span style="color: #ff6600;">Incremental</span>: the angle will be multiplied by the layer number (1*angle, 2*angle, 3*angle, ...)</span></li>
    <li><span style="color: #999999;"><span style="color: #ff6600;">Cycle through</span>: inform the specific angles to be used separating them by comma (ex: 0, 30, 45)</span></li>
    </ul>
    </li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Angle (deg)</span>: specify the cut angle for the hatching algorithm</span><span style="color: #999999;"></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Mesh the layers</span>: mesh the resulting hatched geometry with the 2.5D mesher (hexahedral elements)</span><span style="color: #999999;"></span></li>
    </ul>
    <p><span style="color: #999999;">Workflow:</span></p>
    <ol>
    <li><span style="color: #999999;">Define trajectory spacing (this depends on your process)</span></li>
    <li><span style="color: #999999;">Define point spacing</span></li>
    <li><span style="color: #999999;">Select hatching algorithm</span></li>
    <li><span style="color: #999999;">Define initial angle or angles</span></li>
    <li><span style="color: #999999;">Choose whether to perform meshing aftewards</span></li>
    <li><span style="color: #999999;">Select where to save the trajectories</span></li>
    <li><span style="color: #999999;">Click create hatching to start the process</span></li>
    </ol>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>'''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #20
0
ファイル: JointsUI.py プロジェクト: okigami/Toolkit_2021.1
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    my_toolProperty.TitleImageUriString = os.path.join(
        os.path.dirname(current_file_path), r"Icons\script.png")

    my_toolProperty.TitleText = "Create simple joints"

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    return my_toolProperty
コード例 #21
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Export BDF files from part"
    my_toolProperty.WorkFlowInstructions = '''
   <html><body>
<p><span style="color: #999999;">This tool is used to export each part as a single BDF file to be used in Simufact Welding.<br /></span></p>
<p><span style="color: #999999;"></span></p>
<p><span style="color: #999999;">It will ask you to point to the directory in which the BDF files shall be saved.</span></p>
<p><span style="color: #999999;"></span></p>
<p><span style="color: #999999;">Remember that solid meshes can be directly imported in Simufact and shell meshes have to be expanded back to a solid mesh.</span></p>
<p></p>
<p><span style="color: #999999;">For support: <span style="color: #ff0000;">[email protected]</span></span></p>
<p><span style="color: #999999;"></span></p>
   </body></html>'''

    return my_toolProperty
コード例 #22
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Remove empty containers"
    my_toolProperty.WorkFlowInstructions = '''
   <html><body>

   <p><span style="color: #999999;">This tool is used to remove (delete) empty containers from the model tree. It will delete parts that contain nothing in it and assemblies that contain no part or assembly in it in this order.</span></p>
<p></p>
<p><span style="color: #999999;">It is recommended to run this tool once you have deleted components directly from the view to keep the model tree organized and clean.</span></p>
<p></p>
<p><span style="color: #999999;">For support: <span style="color: #ff0000;">[email protected]</span></span></p>
<p><span style="color: #999999;"></span></p>

    </body></html>'''

    return my_toolProperty
コード例 #23
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Create refinement regions"
    my_toolProperty.WorkFlowInstructions = ''' This tool will infer the weld beads from the CAD. '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #24
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Design fixture by stiffness"

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #25
0
def getUIContent():

   my_toolProperty = apex_sdk.ToolPropertyContainer()
   my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
   my_toolProperty.TitleText = "  Suppress features"
   my_toolProperty.WorkFlowInstructions = '''
   <p><span style="color: #a9a9a9;">Operation: Click the </span><span style="color: #00ffff;">Suppress vertices </span><span style="color: #a9a9a9;">button to suppress all visible vertices of surfaces.</span></p>
   <p><span style="color: #a9a9a9;">Operation: Click the </span><span style="color: #00ffff;">Suppress edges </span><span style="color: #a9a9a9;">button to suppress all visible edges of surfaces.</span></p>
   <p><span style="color: #a9a9a9;">Operation: Click the </span><span style="color: #00ffff;">Suppress all </span><span style="color: #a9a9a9;">button to suppress all visible vertices and edges of surfaces.</span></p>
   <ul>
   <li><span style="color: #a9a9a9;">This tool is used to simplify the geometrical representation by suppressing edges and vertices.</span></li>
   <li><span style="color: #a9a9a9;">Sometimes, this simplification is needed to avoid big discrepancies between small and big faces.</span></li>
   <li><span style="color: #a9a9a9;">It will not perform any defeaturing on the part/surface. For that use the </span><span style="color: #add8e6;">Apex Defeature</span><span style="color: #a9a9a9;">&nbsp; tool instead under the </span><span style="color: #ee82ee;">Geometry Edit Tools</span><span style="color: #a9a9a9;">&nbsp; palette.</span></li>
   </ul>
   <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
   
   '''

   return my_toolProperty
コード例 #26
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Stiffness studies"
    my_toolProperty.WorkFlowInstructions = '''
    <p><span style="background-color: #ff0000;">Experimental tool for running multiple stiffness analysis.</span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #27
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Expand & Split"
    my_toolProperty.WorkFlowInstructions = '''
    <p><strong><span style="color: #999999;">Expand &amp; Split<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tools takes existing geometries and creates expanded (offset) versions of the outer surfaces. No extra geometry will be created. It takes advantage of the existing built-in partitioning tool.<br /></span></p>
    <ul>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Distance (mm)</span>: Offset distance from the existing faces.<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Split solids</span>: Check this option if you want to split solids within reach of the expanded faces.<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Split surfaces</span>: Check this option if you want to split surfaces within reach of the expanded faces.</span><span style="color: #999999;"></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Suppress extra vertices</span>: Performs an extra step to cleanup vertices after performing the split (partitioning).<br /></span></li>
    </ul>
    <p><span style="color: #999999;">Workflow:</span></p>
    <ol>
    <li><span style="color: #999999;">Define offset distance<br /></span></li>
    <li><span style="color: #999999;">Select/skip split solids<br /></span></li>
    <li><span style="color: #999999;">Select/skip split surfaces<br /></span></li>
    <li><span style="color: #999999;">Select/skip suppression of extra vertices<br /></span></li>
    <li><span style="color: #999999;">Select an assembly containing all geometries used for splitting</span></li>
    <li><span style="color: #999999;">Click expand beads and split</span><span style="color: #999999;"></span></li>
    </ol>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #28
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    my_toolProperty.TitleText = "Mesh statistics"
    my_toolProperty.WorkFlowInstructions = '''
    <p><strong><span style="color: #999999;">Mesh statistics<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tool calculates the element count and get mesh type for all visible parts.</span></p>
    <ul></ul>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
   '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Update Grid
    UpdateDataGridData()

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #29
0
def getUIContent():
    my_toolProperty = apex_sdk.ToolPropertyContainer()

    # Provide an icon and a name for the tool property panel
    # my_toolProperty.TitleImageUriString = os.path.join(os.path.dirname(current_file_path), r"Icons\script.png")
    my_toolProperty.TitleText = "Create refinement regions"
    my_toolProperty.WorkFlowInstructions = '''
    <p><strong><span style="color: #999999;">Refinement region<br /></span></strong></p>
    <p><span style="color: #999999;">Description: This tool creates a solid body to envelope the selected edge. The idea is to define a refinement region to be used as split location.<br /></span></p>
    <ul>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Diameter</span>: Define the region diameter<br /></span></li>
    <li><span style="color: #999999;"><span style="color: #00ccff;">Extend region</span>: Do an extra push-pull to extend the region beyond the start and end points (capture HAZ better)<br /></span></li>
    </ul>
    <p><span style="color: #999999;">Workflow:</span></p>
    <ol>
    <li><span style="color: #999999;">Select the edges you want to create trajectories from (one or multiple)<br /></span></li>
    <li><span style="color: #999999;">Define the region diameter<br /></span></li>
    <li><span style="color: #999999;">Define whether extension is needed<br /></span></li>
    <li><span style="color: #999999;">Click create regions</span></li>
    </ol>
    <p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
    <p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>
    '''

    # Define UI
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()

    # Handle apply button (green) click event
    my_toolProperty.AppliedCommand = apex_sdk.ActionCommand(
        System.Action(HandleApplyButton))

    # Define PickFilterList
    my_toolProperty.ShowPickChoice = True
    my_toolProperty.PickFilterList = setPickFilterList()

    return my_toolProperty
コード例 #30
0
def getUIContent():

    my_toolProperty = apex_sdk.ToolPropertyContainer()
    my_toolProperty.ToolPropertyContent = getCustomToolPropertyContent()
    my_toolProperty.TitleText = "  Heat source calculator (bead)"
    my_toolProperty.WorkFlowInstructions = '''<html><body>
   
   <p><strong><span style="color: #999999;">Heat source generator (bead)</span></strong></p>
<p><br /><span style="color: #999999;">This tool is used to estimate and generate heat source configurations for Simufact Welding. Please consider the estimated parameters as an initial guess.</span></p>
<p></p>
<ul>
<li><span style="color: #999999;"><span style="color: #00ccff;">Leg length (mm)</span>: expected/desired weld bead leg length<br /></span></li>
<li><span style="color: #999999;"><span style="color: #00ccff;">Travel speed (cm/min)</span>: this value represents the (average) velocity of the torch or whatever device is carrying the heat source.</span><span style="color: #999999;"><span style="color: #00ccff;"></span></span></li>
<li><span style="color: #999999;"><span style="color: #00ccff;">Efficiency</span>: parameter utilized for correlating the nominal values from the power source with the actual heat output at the tip of the torch/wire.</span></li>
</ul>
<p></p>
<p><span style="color: #999999;">This version of the heat source generator does a backward calculation based on desired bead leg. The input power required to produce the specified leg length combined with travel speed and efficiency is then estimated</span><span style="color: #999999;">. </span><span style="color: #999999;"></span><span style="color: #999999;">The output file can be used directly in a Simufact Welding simulation that uses the double ellipsoid model as heat source (arc welding).</span></p>
<p><span style="color: #999999;"></span></p>
<p><span style="color: #999999;">For support: <span style="color: #ff0000;"><a href="mailto:[email protected]">[email protected]</a></span></span></p>
<p><span style="color: #999999;"><span style="color: #ff0000;"></span></span></p>

   </body></html>'''

    return my_toolProperty