<?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: Manipulate offset profile parameters in Civil 3D Customization Forum</title>
    <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10827650#M5985</link>
    <description>&lt;P&gt;Thanks for your help, problem solved.&lt;/P&gt;</description>
    <pubDate>Thu, 16 Dec 2021 17:59:34 GMT</pubDate>
    <dc:creator>serpetfree</dc:creator>
    <dc:date>2021-12-16T17:59:34Z</dc:date>
    <item>
      <title>Manipulate offset profile parameters</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826625#M5981</link>
      <description>&lt;P&gt;I'm trying to manipulate offset profile parameters. But nothing happens.&lt;BR /&gt;I can read offset profile parameters, but I can't write or remove.&lt;/P&gt;&lt;P&gt;I have Civil 3D 2022.1.1 Update.&lt;/P&gt;&lt;P&gt;I'm not sure I'm using it right, I don't know what I'm doing wrong, I'm trying 3 different ways. Why doesn't any of them work?&lt;/P&gt;&lt;P&gt;Here is my code snippet VB .NET:&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;Dim docCol As Autodesk.AutoCAD.ApplicationServices.DocumentCollection = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager
        Dim db As Database = docCol.MdiActiveDocument.Database

        Dim tr As Transaction = db.TransactionManager.StartTransaction()
        Dim ln As Long
        Dim lnProf As Long
        Dim id As ObjectId
        Dim idProf As ObjectId
        
        ln = Convert.ToInt32(alignmentHANDLE, 16)
        lnProf = Convert.ToInt32(profileHANDLE, 16)

        Dim hn As New Handle(ln)
        Dim hnProf As New Handle(lnProf)
    
            id = db.GetObjectId(False, hn, 0)
            Dim pl As Alignment = tr.GetObject(id, OpenMode.ForWrite) 'get offset alignmet

            idProf = db.GetObjectId(False, hnProf, 0)
            Dim plProf As Profile = tr.GetObject(idProf, OpenMode.ForWrite) 'get offset profile

            Dim staDouble As Double
            Dim slopeDouble As Double

            staDouble = 600
            slopeDouble = 0.05

            Dim Prof_Parameters As New Profile.OffsetProfileParameters(plProf)
            Dim Param_station As New Profile.OffsetProfileParametersStation(staDouble, slopeDouble, "test1")

            'method 1
            Prof_Parameters.Stations.Add(Param_station)
            'method 2
            Prof_Parameters.Stations.Insert(Prof_Parameters.Stations.Count, Param_station)

            'method 3
            staDouble = 700
            slopeDouble = 0.05
            Param_station.Station = staDouble
            Param_station.Slope = slopeDouble
            Param_station.Description = "test2"

            plProf.OffsetParameters.Stations.Add(Param_station)

            tr.Commit()
            tr.Dispose()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Dec 2021 09:44:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826625#M5981</guid>
      <dc:creator>serpetfree</dc:creator>
      <dc:date>2021-12-16T09:44:09Z</dc:date>
    </item>
    <item>
      <title>Re: Manipulate offset profile parameters</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826844#M5982</link>
      <description>&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;look at this is link&lt;/P&gt;&lt;P&gt;&lt;A href="https://forums.autodesk.com/t5/civil-3d-customization/c3d-2020-4-new-api/m-p/9570569" target="_blank"&gt;https://forums.autodesk.com/t5/civil-3d-customization/c3d-2020-4-new-api/m-p/9570569&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Dec 2021 12:23:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826844#M5982</guid>
      <dc:creator>hosneyalaa</dc:creator>
      <dc:date>2021-12-16T12:23:50Z</dc:date>
    </item>
    <item>
      <title>Re: Manipulate offset profile parameters</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826879#M5983</link>
      <description>&lt;P&gt;Thank you I have seen this page, but it's not working for me, I don't know.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;plProf&lt;/U&gt; is &lt;STRONG&gt;Profile&lt;/STRONG&gt;&lt;BR /&gt;&lt;U&gt;Param_station&lt;/U&gt; is &lt;STRONG&gt;Profile.OffsetProfileParametersStation&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But this is not working:&lt;BR /&gt;&lt;U&gt;plProf.&lt;/U&gt;OffsetParameters.Stations.Add(&lt;U&gt;Param_station&lt;/U&gt;)&lt;/P&gt;&lt;P&gt;In my visual studio :&lt;BR /&gt;ReadOnly Property &lt;STRONG&gt;Profile.Offsetparameters&lt;/STRONG&gt; As &lt;STRONG&gt;Profile.OffsetProfileParameters&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I don't understand.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've attached a Visual Studio printscreen&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ReadOnly.jpg" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1002251iB8310548D7DCDCEB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ReadOnly.jpg" alt="ReadOnly.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Dec 2021 12:43:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826879#M5983</guid>
      <dc:creator>serpetfree</dc:creator>
      <dc:date>2021-12-16T12:43:37Z</dc:date>
    </item>
    <item>
      <title>Re: Manipulate offset profile parameters</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826932#M5984</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;can you read this is&lt;/P&gt;&lt;P&gt;but it is Python Script node&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://forum.dynamobim.com/t/superelevation-to-offset-profile/65767/5" target="_blank"&gt;https://forum.dynamobim.om/t/superelevation-to-offset-profile/65767/5&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;# Load the Python Standard and DesignScript Libraries
import sys
import clr

# Add Assemblies for AutoCAD and Civil3D
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('Civil3DNodes')
clr.AddReference('System')

from System.Collections.Generic import List

# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

# Import references from Civil3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

# Import references for Dynamo for Civil 3D
from Autodesk.Civil.DynamoNodes import Alignment as DynAlignment

# The inputs to this node will be stored as a list in the IN variables.
dataEnteringNode = IN

adoc = Application.DocumentManager.MdiActiveDocument
editor = adoc.Editor
civdoc = CivilApplication.ActiveDocument

align = IN[0]
station = IN[1]
slope = IN[2]

result = []
oppsset = []

def offsetsuper(align,station,slope):
	global adoc
	global editor
	global civdoc
	
	try:	
		with adoc.LockDocument():
			with adoc.Database as db:
				with db.TransactionManager.StartTransaction() as t:
					#Selected alignment ID and object			
					alignment = align
					alignmentId = alignment.InternalObjectId
					al = t.GetObject(alignmentId, OpenMode.ForRead)
					alname = al.Name
					#Profile ID and object
					profileId = al.GetProfileIds()[0]
					profile = t.GetObject(profileId, OpenMode.ForWrite)
					profilename = profile.Name
					#get and clear existing parameters
					opp = profile.OffsetProfileParameters(profile)
					oppstations = opp.Stations
					oppstations.Clear()
					n = station.Count
					for i in range(0,n):
						slopepercent = slope[i]*0.01
						opps = profile.OffsetProfileParametersStation(station[i],slopepercent)
						oppsset.append(opps) 
					oppssetlist = List[Profile.OffsetProfileParametersStation](oppsset)
					opp.Stations = oppssetlist
					oppstations = opp.Stations
					#a = opp.Stations
					t.Commit()

	except Exception() as ex:
		oppstations.append(ex.message)
	return oppstations

# Assign your output to the OUT variable.
OUT = offsetsuper(align,station,slope)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Dec 2021 13:04:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10826932#M5984</guid>
      <dc:creator>hosneyalaa</dc:creator>
      <dc:date>2021-12-16T13:04:27Z</dc:date>
    </item>
    <item>
      <title>Re: Manipulate offset profile parameters</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10827650#M5985</link>
      <description>&lt;P&gt;Thanks for your help, problem solved.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Dec 2021 17:59:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/manipulate-offset-profile-parameters/m-p/10827650#M5985</guid>
      <dc:creator>serpetfree</dc:creator>
      <dc:date>2021-12-16T17:59:34Z</dc:date>
    </item>
  </channel>
</rss>

