is there any way to check the entity selected by NonInteractivePickPoint? iwant to get the ownerid if the item selected is a 3d or 2d vertex. How is it written in vb.net?
I would like to determine the Proxy ObjectType returned from Constraint.EntityOne (i.e. If oConst.EntityOne = kWorkPointProxyObject Then ....)
Property EntityOne() As IDispatch**
how IDispatch works.
Dim oAsmDef As AssemblyComponentDefinitionSet oAsmDef = oAsmDoc.ComponentDefinition Dim oConst As AssemblyConstraint For Each oConst In oAsmDef.Constraints'Below will print the Enum 67120288 (kEdgeProxyObject) or 67119520 (kFaceProxyObject) if 'it is constrained. It will Err if a Work or Sketch Proxy Object is Constrained Debug.Print oConst.EntityOne Debug.Print oConst.EntityTwo Next
I am looking for some code that would allow me to select a MTEXT Entity - or other entity - (as the DEFAULT option) but also to allow me to type in some text manually or to pick a point in the drawing. Something that would present the user with:
"Select an object or [P to pick a point]" or
"Select MTEXT or [M to type].
I can write some code to type in text manually as the default option and get the second option to select entity using get string and then write some condition of if code but I don't know how to do it having entsel as default option.
I need to export points from 3D map as a .shp file so I can bring them into Maya and have them line up exactly where they need to be based on their coordinates. The points line up pretty close to right in map 3d, and they have a style assigned to them. When I go to the Map --> Tools --> Export, I choose .shp as the file output, and go through and select the layer I need to export. When I've got everything set up, I get an error message saying "no entity to export." I have searched on the internet for this error but not a lot comes up. I'm not sure what I'm missing in order to make the points export.
Simple example, when overrule Line entity to draw three entities Line, Text, Circle when selecting overruled Line is it possible to identify what object have been selected (in this example it could be Line, Text, Circle).
I'm trying to add an attribute to an entity, however it seems that the AttributeDefinition requires a Point3d and as such appear in my modelspace. I don't want this, i just wanted it to appear as an attribute with a value when i click on my entity, is there any way of making it so that i does not add into modelspace?
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);for (int i = 0; i < prSelectionResult.Value.Count; i++){ // Get the entity the user had selectedEntity ent = (Entity)trans.GetObject(prSelectionResult.Value[i].ObjectId, OpenMode.ForWrite);if (ent.GetType() == typeof(BlockReference)) { // Add attribute to layerBlockReference blockRef = (BlockReference)ent;. [code]...
I have a method DrawMLeaderLine(Database db, Transaction tr, Point3d point, string text) that draws me a MLeader line to the given point with the given text as annotation. The MLeader line points to the midpoint of a Line entity. What I need is a binding between the Line midpoint and the MLeader line, so when I move or resize the Line, the MLeader line should follow! I already tried to solve that, using constraints, but it doesn't work for Leaders.
This is my code...
public static MLeader DrawMLeaderLine(Database db, Transaction tr, Point3d point, string text) { Point3d mTextLocation = point + new Vector3d(5, 5, 0); BlockTableRecord btr = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; MText mText = new MText(); mText.SetDatabaseDefaults(); mText.SetContentsRtf(text); [code]........
will be called from a different class...
Line line = DrawingUtil.DrawLine(doc.Database, tr, closestPoints.Item1, closestPoints.Item2); //Get midpoint of line double midPointX = (line.EndPoint.X + line.StartPoint.X) / 2.0d; double midPointY = (line.EndPoint.Y + line.StartPoint.Y) / 2.0d; Point3d midPointOfLine = new Point3d(midPointX, midPointY, 0); //Draw the leaderline MLeader leaderLine = DrawingUtil.DrawMLeaderLine(doc.Database, tr, midPointOfLine, "Connection");
Can you add an attribute to a non-blocked entity? Basically, I want to "name" plines.
In case I'm going about this wrong, let me ask the question another way. I'm just getting used to the wonders of attributes & data extraction (I love it!). Right now I have blocks with attributes that I use data extraction to count. I also need some way to calculate length. These blocks represent electrical devices - then I need to calculate the amount of wire used to connect the devices.
So now I use a pline to join the devices, get the length of that polyline, and then manually enter that length into the spreadsheet from the data extraction. But...I'm thinking if I can link an attribute to a pline, then I can include that in the data extraction and automate it. But I don't see how I can use a block for this, since the pline will be completely variable and needs to be "custom-fit" for each circuit.
I have a client that just started using C3D 2010. When I sent him a topographic survey with contour lines (I am also using C3D 2010) he called me and asked if there was a way to select an individual contour line and have it display the elevation in the 'properties' dialog box. I have not been able to find an answer for him.
For AutoCAD 2006, I have an entity that I am changing properties of, but I cannot figure out how to set the colormethod to "By Layer." I am sure that I am missing something, but I am at my wit's end.
I'm borrowing from the samples library in the Inventor:
Public Sub GetSingleSelection()
' Get a feature selection from the user Dim oObject As Object Set oObject = ThisApplication.CommandManager.Pick(kPartFeatureFilter, "Pick a feature") MsgBox "Picked: " & oObject.Name
End Sub
Works fine, and is fairly simple, but the problem I'm having is if I press the escape key after starting the command, but before making my selection, I'm not able to start the command again.
I realize from my searching that using the Selection (Simple) sample allows for an interrupt, with some modification, was just wondering if there was something similar for this simpler selection option.
I am trying to get either location, insertion point, or center of an entity that is inside of a block. I'm getting subentity using the Editor.GetNestedEntity. I create a FullSubEntityPath for highlighting, that works well, and I have looked at using GetSubEntityGeometricExtents using that same subentitypath, but not having any luck, I can't seem to find any documentation on using that method.
I know I can get the location of the owner, then calculate the location of the entity based off of that, but I'm looking for an easy way now, if that don't work out, I can do the lengthy approach.
I have ACA2011. I received a Topo from someone an it's grade lines are Proxy Entities. I need to snap to one and can't. Is there a way to snap to these? I just want to move the topo to the right Z height, but need to snap to at least one grade line to do so.
I am using ACADE 2008 and VB.NET. I have a multitude of drawings that I am doing the same three and four operations on and would like to write VB.NET program to do it. I can get my selections set just fine, but my first problem is figuring out how to change all drawing entities color and linetype to "ByLayer". So far I have not gotten past changing just the color value. I have tried multiple variations on the following line without success:
Our office has upgraded to new Windows 7 computers with AutoCAD 2013.
For the last (3) years, we have had an RTEXT in our titleblock file that shows the path, file name, date, and time. This RTEXT thingy was originally copied from a consultants file to ours. The titleblock file is x-reffed to the other sheet files, and has been working fine in all files until the upgrade.
Now, when we open a file, the only thing that is shown for the RTEXT is the bounding box. This happens on all of our computers. The express tools are installed. If I type RTEXT > [enter], it displays correctly and will work fine ... until the CAD is shut down. If it is re-opened, once again, just the bounding box.
Typing the command every time I open the file is a nuisance for me, and is something that others in the office would never get used to doing.
I am new to Inventor API, but have some experiences in SolidWorks API.
How can I select an entity at a given spacial point (x, y, z)? For example, I want to select a face or edge that is on a given (x, y, z) point. I can not find such an API, except for interactive selections.