<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: CPython 3, Apply loads to Load cases in Robot Structural Analysis Forum</title>
    <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11365032#M9501</link>
    <description>&lt;P&gt;Try this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
sys.path.append(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
clr.AddReference('interop.RobotOM')
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]


application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

CreatedLoads = []
case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase(case)
rec = IRobotLoadRecordMngr(simplecase.Records)
count = rec.Count
for i in range(count+1)[::-1]:
	rec.Delete(i)
#for i in range(1,count+1,1):
#	rec = simplecase.Records.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = rec.Get(Uniform[0])
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(objects[j][k])
		CreatedLoads.append(LoadRecord.UniqueID)

application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

#Assign your output to the OUT variable.
OUT = CreatedLoads, count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 17 Aug 2022 18:33:03 GMT</pubDate>
    <dc:creator>JacquesGaudin</dc:creator>
    <dc:date>2022-08-17T18:33:03Z</dc:date>
    <item>
      <title>CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11364870#M9499</link>
      <description>&lt;P&gt;Hi all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are trying to migrate our scripts from IronPython2 to CPython3.&lt;/P&gt;&lt;P&gt;I am trying to apply loads to the load case "GCW" as picture shows. The original script is attached, it was done with version IronPython2 and it works, however when turning to CPython 3, there are some errors.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: AttributeError : '__ComObject' object has no attribute 'Records' [' File "&amp;lt;string&amp;gt;", line 32, in &amp;lt;module&amp;gt;\n']&lt;/P&gt;&lt;P&gt;and I got problems with&amp;nbsp;IRobotLoadRecordMngr.Count. Could you help me checking what is wrong with the script?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Files are attached.&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Stefany&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="stefanyC6JZ7_2-1660749824498.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1104989i1C3FD8142C2A300D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="stefanyC6JZ7_2-1660749824498.png" alt="stefanyC6JZ7_2-1660749824498.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="stefanyC6JZ7_1-1660748175526.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1104967i898762910E945EC1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="stefanyC6JZ7_1-1660748175526.png" alt="stefanyC6JZ7_1-1660748175526.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
sys.path.append(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
clr.AddReference('interop.RobotOM')
#clr.AddReference(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
from RobotOM import *
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]


application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

CreatedLoads = []
case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase
simplecase = case
rec = IRobotLoadRecord
IRobotLoadRecordMngr = simplecase.Records
count = IRobotLoadRecordMngr.Count
for i in range(count+1)[::-1]:
	rec = simplecase.Records.Delete(i)
#for i in range(1,count+1,1):
#	rec = simplecase.Records.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(simplecase.Records.New(ILRT))
		LoadRecord = simplecase.Records.Get(Uniform[0])
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(objects[j][k])
		CreatedLoads.append(LoadRecord.UniqueID)

application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

#Assign your output to the OUT variable.
OUT = CreatedLoads, count&lt;/LI-CODE&gt;</description>
      <pubDate>Wed, 17 Aug 2022 15:26:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11364870#M9499</guid>
      <dc:creator>stefanyC6JZ7</dc:creator>
      <dc:date>2022-08-17T15:26:27Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11364964#M9500</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Some of you may recognise these text from the script.&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12755113"&gt;@stefanyC6JZ7&lt;/a&gt;&amp;nbsp; is my colleague.&lt;/P&gt;&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7613523"&gt;@JacquesGaudin&lt;/a&gt;&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5952516"&gt;@cool.stuff&lt;/a&gt;&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4621108"&gt;@chjpcoi&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope someone of you explain to us what is nessesary to get our scripts to Cpython3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;Gr Edward&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2022 16:10:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11364964#M9500</guid>
      <dc:creator>1234eddie</dc:creator>
      <dc:date>2022-08-17T16:10:32Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11365032#M9501</link>
      <description>&lt;P&gt;Try this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
sys.path.append(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
clr.AddReference('interop.RobotOM')
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]


application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

CreatedLoads = []
case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase(case)
rec = IRobotLoadRecordMngr(simplecase.Records)
count = rec.Count
for i in range(count+1)[::-1]:
	rec.Delete(i)
#for i in range(1,count+1,1):
#	rec = simplecase.Records.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = rec.Get(Uniform[0])
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(objects[j][k])
		CreatedLoads.append(LoadRecord.UniqueID)

application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

#Assign your output to the OUT variable.
OUT = CreatedLoads, count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2022 18:33:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11365032#M9501</guid>
      <dc:creator>JacquesGaudin</dc:creator>
      <dc:date>2022-08-17T18:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366186#M9502</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7613523"&gt;@JacquesGaudin&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Thank you for your reply. I have tried the code you suggested, but it is not working completely. The first part of the script runs without a problem, at line 42 the set value does not correspond because of the com_object error, please see picture below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;what could be a solution for this one?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="stefanyC6JZ7_0-1660806409987.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105255i463D87E427E2DA33/image-size/medium?v=v2&amp;amp;px=400" role="button" title="stefanyC6JZ7_0-1660806409987.png" alt="stefanyC6JZ7_0-1660806409987.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;as a test i did turn line 42-46 off. the loop and everything then works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Forum.PNG" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105257iC592AE448D4494CD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Forum.PNG" alt="Forum.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Stefany&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Aug 2022 07:16:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366186#M9502</guid>
      <dc:creator>stefanyC6JZ7</dc:creator>
      <dc:date>2022-08-18T07:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366240#M9503</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7613523"&gt;@JacquesGaudin&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;we still having problems with this one. i did a little dig in the api.&lt;/P&gt;&lt;P&gt;i think i know why this happens, but don't know how to solve it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Setvalue is part of Irobotloadrecord,&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1234eddie_0-1660808835134.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105269iA4D74F9CEFFC2620/image-size/medium?v=v2&amp;amp;px=400" role="button" title="1234eddie_0-1660808835134.png" alt="1234eddie_0-1660808835134.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And our definition of loadrecord in the script is (if i'm right) part of IRobotLoadRecordMngr&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1234eddie_1-1660808858949.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105270i0B1C809F409F26A5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="1234eddie_1-1660808858949.png" alt="1234eddie_1-1660808858949.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;could this be the problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gr Edward&lt;/P&gt;</description>
      <pubDate>Thu, 18 Aug 2022 07:49:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366240#M9503</guid>
      <dc:creator>1234eddie</dc:creator>
      <dc:date>2022-08-18T07:49:29Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366323#M9504</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3017553"&gt;@1234eddie&lt;/a&gt;&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12755113"&gt;@stefanyC6JZ7&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You are right, the `SetValue` method is not available because `LoadRecord` is not recognised as a IRobotLoadRecord object but rather a generic COM object.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In general, when this happens, the solution is to just cast the object to the expected type:&lt;/P&gt;&lt;LI-CODE lang="general"&gt;LoadRecord = IRobotLoadRecord(rec.Get(Uniform[0]))

# This forces the result of the `Get` method to be cast to IRobotLoadRecord
# In general:
# my_obj = ExpectedType(object_server.Get(i))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is due to the way PythonNet works and to the fact that there is no such things as interfaces in Python.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IronPython was dealing with the interface types under the hood but PythonNet doesn't do that, leaving some objects with a generic COM object type. To gain access to the methods of the object, it is necessary to cast the object to the correct type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
sys.path.append(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
clr.AddReference('interop.RobotOM')
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]


application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

CreatedLoads = []
case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase(case)
rec = IRobotLoadRecordMngr(simplecase.Records)
count = rec.Count
for i in range(count+1)[::-1]:
	rec.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = IRobotLoadRecord(rec.Get(Uniform[0]))
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(objects[j][k])
		CreatedLoads.append(LoadRecord.UniqueID)

application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

#Assign your output to the OUT variable.
OUT = CreatedLoads, count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Aug 2022 08:32:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366323#M9504</guid>
      <dc:creator>JacquesGaudin</dc:creator>
      <dc:date>2022-08-18T08:32:28Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366640#M9505</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7613523"&gt;@JacquesGaudin&lt;/a&gt;,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your reply, and for your help. Now the code works better, loads are applied to the load case, see picture below. But, I got an error with lines 48 and 49.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: TypeError : No method matches given arguments for FromText: (&amp;lt;class 'int'&amp;gt;) [' File "&amp;lt;string&amp;gt;", line 48, in &amp;lt;module&amp;gt;\n']&lt;/P&gt;&lt;P&gt;Warning: AttributeError : 'IRobotLoadRecord' object has no attribute 'UniqueId' [' File "&amp;lt;string&amp;gt;", line 49, in &amp;lt;module&amp;gt;\n']&lt;/P&gt;&lt;P&gt;Could you help me to solve it?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="stefanyC6JZ7_1-1660822446601.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105336i0BDC53BB8C2F3781/image-size/medium?v=v2&amp;amp;px=400" role="button" title="stefanyC6JZ7_1-1660822446601.png" alt="stefanyC6JZ7_1-1660822446601.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
#sys.path.append(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
#clr.AddReference('interop.RobotOM')
clr.AddReference(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
from RobotOM import *
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]


application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

CreatedLoads = []
case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase(case)
rec = IRobotLoadRecordMngr(simplecase.Records)

#rec1 = IRobotLoadRecord(simplecase.Records)
count = rec.Count
for i in range(count+1)[::-1]:
	rec.Delete(i)
#for i in range(1,count+1,1):
#	rec = simplecase.Records.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = IRobotLoadRecord(rec.Get(Uniform[0]))
		#LoadRecord.SetValue(LoadPZ[j])
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(objects[j][k])
		CreatedLoads.append(LoadRecord.UniqueId)
		#selection_bars = structure.Bars.Get(objects[j][k])
		#LoadRecord.Objects.FromText(objects[j][k])
		#LoadRecord.Objects = '1'
		#LoadRecord.Objects.FromText(objects[j][k])
		

application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

#Assign your output to the OUT variable.
OUT = objects, selection_bars
#OUT = CreatedLoads, count&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="stefanyC6JZ7_0-1660822168430.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1105334i30CBD9EE4C863B24/image-size/medium?v=v2&amp;amp;px=400" role="button" title="stefanyC6JZ7_0-1660822168430.png" alt="stefanyC6JZ7_0-1660822168430.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance for you help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Stefany&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Aug 2022 11:35:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366640#M9505</guid>
      <dc:creator>stefanyC6JZ7</dc:creator>
      <dc:date>2022-08-18T11:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366743#M9506</link>
      <description>&lt;P&gt;The first error is because the `FromText` method expects a string argument, not an integer. Just cast the integer to a string to fix it.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;LoadRecord.Objects.FromText(str(objects[j][k]))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The second is because the IRobotLoadRecord interface doesn't provide `UniqueId` as an attribute. To access it you have to use an interface that derives from IRobotLoadRecord but is more specific. For a uniformly distributed load, it is IRobotLoadRecordLinear3D.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = IRobotLoadRecordLinear3D(rec.Get(Uniform[0]))  # A more specific interface must be used
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(str(objects[j][k]))  # Converts integer to str
		CreatedLoads.append(LoadRecord.UniqueId)
		&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note you could apply the same loads with this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;for obj_lst in objects:
	Uniform = []
	Uniform.append(rec.New(ILRT))
	LoadRecord = IRobotLoadRecordLinear3D(rec.Get(Uniform[0]))
	LoadRecord.SetValue(0,LoadPX)
	LoadRecord.SetValue(1,LoadPY)
	LoadRecord.SetValue(2,LoadPZ[j])
	LoadRecord.Objects.FromText(' '.join(str(el) for el in obj_lst)
	CreatedLoads.append(LoadRecord.UniqueId)
		&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 18 Aug 2022 12:21:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366743#M9506</guid>
      <dc:creator>JacquesGaudin</dc:creator>
      <dc:date>2022-08-18T12:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: CPython 3, Apply loads to Load cases</title>
      <link>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366861#M9507</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7613523"&gt;@JacquesGaudin&lt;/a&gt;,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your help and patience with us while trying to fix the script. Now it is working, and I am happy to share the results below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a nice day!&lt;/P&gt;&lt;LI-CODE lang="general"&gt;import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

from System import Environment
user = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

clr.AddReference(user+r"\Dynamo\Dynamo Core\2.11\packages\Structural Analysis for Dynamo\bin\RSA\Interop.RobotOM.dll")
from RobotOM import *
from System import Object

objects = IN[0]
LoadCaseID = IN[1]
ILRT = IN[2]
LoadPX = IN[3]
LoadPY = IN[4]
LoadPZ = IN[5]

application = RobotApplicationClass()
project = application.Project
structure = project.Structure
labels = structure.Labels
loads = structure.Cases

case = structure.Cases.Get(LoadCaseID)
simplecase = IRobotSimpleCase(case)
rec = IRobotLoadRecordMngr(simplecase.Records)
count = rec.Count

for i in range(count+1)[::-1]:
	rec.Delete(i)

for j in range(len(objects)):
	for k in range(len(objects[j])):
		Uniform = []
		Uniform.append(rec.New(ILRT))
		LoadRecord = IRobotLoadRecord(rec.Get(Uniform[0])) 
		LoadRecord.SetValue(0,LoadPX)
		LoadRecord.SetValue(1,LoadPY)
		LoadRecord.SetValue(2,LoadPZ[j])
		LoadRecord.Objects.FromText(str(objects[j][k])) 
application.Visible = True
application.Interactive = True
application.Project.ViewMngr.Refresh()

OUT = objects&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Stefany&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Aug 2022 13:16:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/robot-structural-analysis-forum/cpython-3-apply-loads-to-load-cases/m-p/11366861#M9507</guid>
      <dc:creator>stefanyC6JZ7</dc:creator>
      <dc:date>2022-08-18T13:16:25Z</dc:date>
    </item>
  </channel>
</rss>

