Civil 3D Toolkit Feedback thread

Not sure if the node’s gonna get updated but instead I’m using a Python node to prompt the pick point.
Used Paolo’s script provided in here and modified to add pop-up message : Create Point from Cursor Click in Civil3D Model Space - #3 by Paolo_Emilio_Serra1

This method worked better for me since I’m using pop-ups for user inputs instead of Dynamo player.

#Modified from Paolo's script.

"""
Copyright 2019 Autodesk, Inc. All rights reserved.

This file is part of the Civil 3D Python Module.

"""
__author__ = 'Paolo Emilio Serra - paolo.serra@autodesk.com'
__copyright__ = '2019'
__version__ = '1.0.0'

import clr

# Add Assemblies for AutoCAD and Civil 3D APIs
clr.AddReference('acmgd')
clr.AddReference('acdbmgd')
clr.AddReference('accoremgd')
clr.AddReference('ProtoGeometry')

# Add standard Python references
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')
import os
import math

# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class
import Autodesk.AutoCAD.ApplicationServices.Application as acapp

# 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 *

from Autodesk.DesignScript.Geometry import Point as DSPoint

import System
clr.AddReference('System.Windows.Forms')
from System.Windows.Forms import MessageBox

adoc = acapp.DocumentManager.MdiActiveDocument
ed = adoc.Editor

# Example function
def click_point():
	"""
	Returns a Dynamo point of the user click
	"""
	mbx="Pick a point in the drawing."
	MessageBox.Show(mbx, "Message")	
	global adoc
	global ed
	
	ppo = PromptPointOptions('\nSelect a point: ')
	res = ed.GetPoint(ppo)
	
	if res.Status != PromptStatus.OK:
		return
	
	pt = res.Value
	
	return DSPoint.ByCoordinates(pt.X, pt.Y, pt.Z)

if IN[0]==True:
	OUT=click_point()
else:
	OUT=[]

2 Likes