AutoCAD Architecture :: Setting Classification For Entities
Oct 17, 2013
I'm try to set a classification for a list of objects with .net. I'va found some discussions regarding changing and iterating classification trees, but none setting the classification for entites, similar to selecting a classification in ui.
I need to rename some nodes in a classification tree but I keep on getting the exception.message "eInvalidInput" from the exception.source Acdbmgd.
Here is the
<Autodesk.AutoCAD.Runtime. CommandMethod("RenameClassificationTreeNode")> _ PublicSub RenameClassificationTreeNode() Dim ed AsEditor = Application.DocumentManager.MdiActiveDocument.Editor() Dim db AsDatabase = HostApplicationServices.WorkingDatabase
[Code]...
'Here is the task: Remove paranthesis if present
IfNot (node.Id.IsNull) Then Dim Clsfc AsClassification = CType(tr.GetObject(node.Id, OpenMode.ForRead), Classification) Dim OldName AsString = Clsfc.Name If OldName.Contains("(") AndAlso OldName.Contains(")") Then
I have several LAS files that I have brought into AutoCAD and created PCG point cloud files. You have the option to assign Civil3D properties so I assign the LAS classification properties but they don't apply to the file.
The classification style seems to work with the ISD file extension in Civil3D, but do the LAS classifications not work for the PCG format?? I can only view the PCG file by single color or by elevation range, not by classification.
What is the correct procedure to set up units in a project. I want to work with meters, ant the metric template is in milimeters. if I change the mm in m, when I make views the callouts are displayed incorrectly.
I can set up anno text to appear for instance at 1/8" scale, but cannot get it to change for every scale, and for it to remain centered on the original position at each change in scale. I know it's something to do with how I set it up but cannot find it in "Help".
Working on gas transmission classification using the "sliding mile" for the building count? If so what procedure are you using. At this point I have run the 660' buffer around the lines added the address/structure point queried to within the buffer polygon then select all the points along a mile of point to get a count.
I have imported a ISO Shipping container but the scale is to large. How can I scale it down to architecture setting standard not metric. When I try to use the scale option all it does is makes it larger? I have not search yet do to time restrictions.
I'm trying to set a system setting and it won't stay. I open up options, and Under User Preference, I'm checking Make New Dimensions Associate, but everytime I close out and reopen it's not checked.
I have an international group that is using a VPN tunnel to access our servers to work on .dwg files. Every so often, ACAD "seems" to crash however, it is really or appears to be timing out on accessing file information. Of course, this depends on bandwidth usage and is intermittent because of this reason.
How to change the file request/access timeout in ACAD?
I'm assuming it's a registry hack.
Info: Our international group is using AutoCAD Architecture 2014 on Windows 7 64bit computers.
When building wall styles and configuring cleanup priorities for components, what is the methodology? Do I sketch out a bunch of scenarios of various wall styles meeting each other at Ls and Ts and crosses and whatever, and then try to puzzle it all out: "if I set the outer airspace to 400, then when it gets to this T, the airspace will cut through the rigid insulation with its 600 priority, but will get cut through by the sheetrock with its 200 priority....". That seems like a recipe for headaches. So instead, do I just start from one side of a wall (the wall with the greatest number of components, I guess) and assign the lowest priority number (300, say) to the structural component, the highest number (1200, say) to the finish material component, and numbers in between for everything else, and then see how it works, tweaking by trial and error? The table of priority numbers for various materials provided is useful, but I'd like to have a better understanding of how those numbers might have been derived, so I can do a better job of assigning my own numbers to components that don't appear in the list.
Also, if a wall type contains two components of the same material (I'm thinking of the layers of rigid insulation on either side of the concrete in an Insulated Concrete Foundation system), should those two components have the same priority number (probably not), or different ones (seems more likely)?
I have a client who has a customized workstation in 2012 and is trying to move to 2014. We have gotten most of it done but theyaretryingtoloadacustomlipsroutineanditkeepsfailing.
The CADdesigners have asked me if i can make a function that runs through our AutoCAD 2012 MEP model attaching certain predefined classification definitions to ducts, pipes, MVparts etc.
I have used hours searcing for examples / tutorials on how to connect to the MEP objects not finding what i need.
Best practices for setting up systems in a lab environment. We have a lab enviroment of about 200 systems that access AutoCad, Inventor, Mechanical and others.
We need to have a customized interface come up when Autocad is opened by students.I have read that you can do this with profiles and workspaces and also with loading a acad.lsp file.
In the past we have just copied the Windows admin profile used to customize AutoCad to the default profile. In AutoCad 2013 that does not seem to grab everything. It doesn't seem to be the best way to do what we need.
We will also be moving to Windows 7 soon which will also cause an issue.I want to find the best way to do this with out having to deal with the Windows profile.
looking for a way to read in the DXF data for a surface entity in AutoCAD2012. There's plenty on reading in simple objects (e.g. 3DFace, Points, etc.) but nothing on surfaces. The data itself is also not as intuitive as I would have hoped. The DXF reference PDF from AutoDesk shows 7 possible unique entries and the data I need is most likely stored in the proprietary data. So, in short I know where it is but how can I read it?
How could I get the ObjectIdCollection of all entities (points, polyline) in a certain layer?
I am using the following code at this moment.
private ObjectIdCollection GetEntitiesOnLayer(string layerName) { Editor ed = doc.Editor; TypedValue[] tvs = new TypedValue[1] { new TypedValue((int)DxfCode.LayerName, layerName) }; SelectionFilter sf = new SelectionFilter(tvs); PromptSelectionResult psr = ed.SelectAll(sf);
[code]....
But it seems the function fetches more ObjectId than I expected.For example, if I draw 3 points and 2 polylines in "A" layer.
ObjectIdCollection obc = GetEntitiesOnLayer("A");
int i = obc.Count;
I was expecting i to be 5 (3 points and 2 polylines), but i seems to be more than 5.
I have the dialog window with the settings for entities graphical appearance used in my plugin.
My goal is to create the same preview as AutoCAD dimension style manager dialog has, the dynamic thumbnail of the entities while user changes the settings in dialog.
Probably one option is to create temporary block (created based on data from settings dialog) and then use BlockTableRecord.PreviewIcon, but I am not sure if there is some other way.
How do I select entities by extent. Let's suppose I have Lowerx ,lowery , upperx , uppery [174.76789855957,28.3978977203369 , 507.941253662109 ,112.090751647949 ]. How do I find entities who have these extents.
I select all entities via Editor.SelectAll() method, but the nested entities (inside Blocks) are missing. Do I have to resolve them by iterating through all blocks afterwards or is there a Prompt Selection Option that can be set?
I don't want the user to select the entities, instead I loop through the whole drawing.
I want to migrate my VB code to VB.NET code, migrate the below code?
Private Function GetEntities(oLayerCollection As Collection, sSelectionSetName As String, _ Optional pointsList As Variant = Empty, _ Optional mode As AcSelect = acSelectionSetCrossingPolygon) As AcadSelectionSet Dim oSS As AcadSelectionSet
I have a requirement to find all connected entities on a given line of a plant P&ID. In other words given a certain line or reference point the requirement is to 'walk the line' and list off all entities (with certain attributes and in order) that are connected on a line.
Now not having any experience with underlying object models and API's, whether A) this is possible B) which object model to use - I'm a bit confused as to which one to use.
I received a drawing from an outside contractor that uses something with proxy entities. I can see them just fine on the screen but when I try to plot the drawing they disappear. It also came from a newer version so I had to use the DWG True View to convert it if that may have caused my issue.
I'd like to automatically hatch all visible polygons of a drawing. My vision of how to solve this is basically:
- for each visible drawing do - pick internal point - hatch - end for
I'm having trouble by automatically picking an internal point inside the polygon.
I've found these two methods : Crossing numbers and winding numbers [URL]....... but they don't seem to work if there are some polylines inside an polygon.
Is there another solution to my problem for automatically picking an internal point inside a polygon ? Can I automatically hatch an polygon without picking it's internal point ?
I wrote a program that trys to move all the entities in a dwg file by calculating a grid transformation for each point in each entity. For example to move a pline
Case Is = "AcDb2dPolyline" Set o2DP = oEnt retCoord = o2DP.Coordinates For j% = 0 To UBound(retCoord) Step 3 yaa# = retCoord(j%)
[Code]...
My problem is moving hatch entities. I haven't succeeded in finding equivalent code to move the hatch entities. I did find another post here, but I still don't get it.
Just a follow up to the inquiry on the Flatten command. Is there a way to use set all entities in a drawing to elevation 0? like moving them all to Z=0 like the flatten command but all entities in one command including blocks, hatches, etc.
I'm trying to make a curved wall with different heights, but i can't manage to do the loft of the object. I keep getting "The selected entities are not valid."
I tried remaking all the little polylines but nothing seems to work..
How can I trim entities in an array? I can make the array just fine, but I don't know why it won't let me trim them. I suppose it's trying to keep references to the array and the original entity that the array is based off of, but at this point I don't wish to keep that information.
I have some blocks which are placed with some routines in VB.net and are linked by a unique code to a external data file (XML-file). I want to try to created a kind of propertybox (in a toolpalette) which indicate some of this external data values. If one of these values are changed (by changing the values in the propertybox), some routines need to be executed.
Is it possible when a object is selected (not during a command), to run a piece of code (VB.NET). I have found some basic principles about "overruling" but I'm not sure this is the correct/possible way to solve the problem and I'm not there yet.