More of a wish than a basic need, but a .CreateOffsets(Horz, Vert) method would be nice, returning an ObjectIdCollection of the results.
Terry, if only you had more say in Civil 3D strategic planning.
I have an off-topic question..
What is US DOT? Department of Transport? Drawing Office Technician?
Don't give up Terry, and thanks for all the fantastic support you provide to users all over the World.
Regards,
Kevin
US DOT is Department of Transportation. Each State in the United States has their own DOT and they are able to choose which software they want to use. In order to get into the DOT market many of the new features of Civil 3D are related to that pursuit to the detriment of other types of work such as site development.
And .. there's another guy that makes Civil 3D life that little easier with his support .. Chris.. Thanks for the confirmation. Being in South Africa, I dont have a good grasp of how "it all works" in the US.
Now even more off-topic...
The company I work for have started to implement Project Wise. When I google-search for Project Wise I hit a lot of US DOT policies and manuals. Looks like Project Wise is the standard fo Document Management at US DOT offices.We are struggling to find a working method for using data shortcuts in Project Wise. At the moment we are still trying to use the Bentley integration method (zipped folder with unique file name so that apps can work that specific unique file). But it's not good. The shortcuts break easily and it takes ages to refresh project shortcuts before designers can do any CAD work.
Back to topic...
Autodesk have started to recognise people that go the extra mile, by giving them the Expert Elite status. It's time for Autodesk to take that Elite status one step further. To include people like Terry, Chris and Jeff in Civil 3D development planning sessions. Imagine how great the product would be...
Here's hoping you all have a blessed day / week / year / life ..
Kevin.
I've forwarded this message to engineering team, your feedbacks are always valuable for us, thank you for that!
And thank you all for your efforts, it is your contributions keep the continuous prosperity of this community, thank you all and wish you have a good day and a good year.
In a continuing effort to find workarounds for absences in the .NET API, a thought came to mind to use grip editing to change the vertices of a FeatureLine in code. This code works and the vertices move, but an immediate UNDO command causes:
INTERNAL ERROR: !dbutil.cpp@487: eFileError
Admittedly this is my first time trying to use MoveGripPointsAt, is there anything wrong with this code. To demonstrate actual moving it's simply trying to move the vertex up 10.0 x the index (my real test calculates the difference to new desired coordinates).
<CommandMethod("FlVtxMove")> _ Public Sub FlVtxMove() Dim SelOpt As New PromptEntityOptions(vbLf & "DS> Select FeatureLine: ") SelOpt.SetRejectMessage(vbLf & "DS> Selection Error !") SelOpt.AddAllowedClass(GetType(FeatureLine), True) Dim SelRes As PromptEntityResult = ActEdt.GetEntity(SelOpt) If SelRes.Status = PromptStatus.OK Then Dim SelOid As ObjectId = SelRes.ObjectId Dim DatBas As Database = Application.DocumentManager.MdiActiveDocument.Database Using TrnAct As Transaction = DatBas.TransactionManager.StartTransaction Dim FeaLin As FeatureLine = TrnAct.GetObject(SelOid, OpenMode.ForWrite) Dim PntCol As New Point3dCollection FeaLin.GetGripPoints(PntCol, New IntegerCollection, New IntegerCollection) Dim VtxInd As Integer = 0 For Each PntLoc As Point3d In PntCol Dim VtxCol As New IntegerCollection VtxCol.Add(VtxInd) Dim MovVec As Vector3d = New Vector3d(0.0, VtxInd * 10.0, 0.0) FeaLin.MoveGripPointsAt(VtxCol, MovVec) VtxInd += 1 Next TrnAct.Commit() End Using End If End Sub
Not being able to edit the XY of anything inside an AutoCAD environment especially a feature line is like saying I can't walk. This is long overdue.
Thank you for the comment, I've submit a wishlist to engineerting team about this, engineerting team will evaluate this. Thank you for your understanding and patience.
In 16.2 some work was done on this but it falls short, especially in two areas (in order of importance).
1) Vertex editing still cannot be accomplished. There is no SetPiPoint method and the combination of DeletePiPoint and InsertPiPoint cannot be used to change (all) the points. Since there is no INDEX parameter on these they are of limited use anyway? Please provide an example if I'm wrong.
2) You still cannot create a new FeatureLine. The only method available is to create a database resident polyline (in a separate transaction) then convert it to a FeatureLine. Perhaps an overload to the FeatureLine.Create function that accepts the Point Collection and optionally the bulge data?
Please, EDITING is EXTREMELY important to us and many, many others as I have discovered while trying to find a solution. Perhaps the simplest thing (on Autodesk's part) would be a SetPoints companion to the GetPoints?
FL.SetPoints(PriCol, FeatureLinePointType.PIPoint)
FL.SetPoints(SecCol, FeatureLinePointType.ElevationPoint)
Please give us a decent way to edit a FeatureLine and please include this in a 2017 service pack also?
One thing to watch out for with the new .NET FeatureLine.Create function is that it appears to delete duplicate or invalid points during the creation of the FeatureLine. For the latter invalid scenario imagine the user has closed the boundary improperly by picking the POB again to close the figure instead of using the (C)lose option. This user drawing problem is not a new problem, goes way back.
In this scenario the API appears to return all the points in the FeaObj.GetPoints method and only the points it kept in the FeaObj.PIPointsCount value. For example if the user had drawn a rectangle improperly, the FeaObj.GetPoints count is 5 while the FeaObj.PIPointsCount is 4. So assume the PIPointsCount is correct, not the GetPoints count.
Sadly this was code that had to create a polyline then convert it because there is still no way to modify the vertices of an existing FeatureLine.
I was wondering Terry if you could share your workflow on the process you are using?
Here is the process I'm using:
In this process sometimes the feature line doesn't take all of the set points. It looks like now that I look at the list I might want to move step 6 before step 4.
Also when a user does an undo it appears that the feature lines go down to zero and doesn't remember the previous elevation values. All of this is done under one transaction. I'm hoping I don't have to break this up into individual transactions to get this to work.