Place Spot Elevation in SectionView and change Type

Hello,

I can place a spot elevation in a PlanView with the clockwork node SpotElevation.by.Point

But it does not work in a SectionView.

Python code is from the node, you can see it doesn´t give any error.

Here is a post from @Andreas_Dieckmann where he says that it should work for SectionViews.

And here is the Code of the node:

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
views = UnwrapElement(IN[0])
pts = UnwrapElement(IN[1])
bend = UnwrapElement(IN[2])
end = UnwrapElement(IN[3])
leader = UnwrapElement(IN[4])
isoview = UnwrapElement(IN[5])
intsecvec = UnwrapElement(IN[6])
elementlist = []

i = 0;
TransactionManager.Instance.EnsureInTransaction(doc)
for pt in pts:
	view = views[i]
	pt = pt.ToXyz()
	refintsec = ReferenceIntersector(isoview)
	refintsec.TargetType = FindReferenceTarget.All
	try:
		ref = refintsec.FindNearest(pt,intsecvec[i].AsPoint().ToXyz()).GetReference()
		elementlist.append(doc.Create.NewSpotElevation(view, ref, pt, pt.Add(bend.AsPoint().ToXyz()), pt.Add(end.AsPoint().ToXyz()), pt, leader))
	except:
		elementlist.append(None)
	i += 1
TransactionManager.Instance.TransactionTaskDone()

OUT = elementlist

And another Problem i can´t change the type of a SpotElevation because its not a string value. How yan i get the types?

Would appreciate any help :slight_smile:

You can get your elements then get the parameters from that.

Get parmeter value by name << think this
image

Then you’ve got your parameter, not the name.

Hello Alien,

As you can see your solution would only work if elements with the specific type have already been placed in the project.
But i have found the right way to get the spot elevation types :slight_smile:

And this is how to change the type succesfully:

But still no idea how to place them :thinking:

So it does in fact work also in SectionViews! :smiley:

Amazing, it is just tricky to get the right points to place the SpotElevations!

But now i have another problem, in some of my Revit-Project placing spotelevations with dynamo does not work! Not in Planviews and not in SectionViews…I get no error, just nulls as result and I´m not making any mistake, manual placing the SpotElevations works fine so they are not hidden or something.

I don´t know what could be the problem…any thoughts on that?

Kind Regards :slight_smile:

Placing SpotElevations to colums is working great :smiley:

But again…only in some projects

Here are some clips:

New Revit-File, Section View:
ezgif.com-gif-maker

New Revit-File, StructuralPlanView:
ezgif.com-gif-maker (1)

All other Revit Projects:
ezgif.com-gif-maker (2)

And here is the DYN file if someone wants to test:

Spot Elevations3.dyn (61.4 KB)

Please mind that, in a new project, you have to create a 3D view before the clockwork node works.

Edit: opened an issue on github, maybe i get some help.
[Spot Coordinates · Issue #337 · andydandy74/ClockworkForDynamo (github.com)] Spot Elevations · Issue #338 · andydandy74/ClockworkForDynamo (github.com)