AutoCAD Inventor :: Attributes On Border Definitions
Aug 23, 2013
I have been having trouble storing attributes on border definitions. I have multiple borders which need to be used for different types of drawings. I have developed a tool which will use the desired border pragmatically and it works as planned. Currently the logic selects a border based on name, but since this can be edited by the user I need a more dependable way of retrieving a border. I had thought attributes would be the answer, but I'm running into problems. The attributes just won't stick. I've tried to add them manually through the API and with the Attributes Helper tool released.
See below for the code I'm using to add the attributes
Dim oAttr As Inventor.Attribute Dim oAttrSet As AttributeSet Set oAttrSet = oBorderDef.AttributeSets.Add("TestAttributeSet", True) oAttrSet.Copy = True Set oAttr = oAttrSet.Add("TestAttribute", kIntegerType, 12345) Debug.Print oAttrSet.Parent.Parent.Name & " " & oAttrSet.Name & " " & oAttr.Name & " " & oAttr.Value
It will print information leading me to believe that the attribute was added, but if I try to retrieve it either through the attributemanager or manually cycling through the border definitions no attributes exist.
what Collapse To Definitions does inside the iLogic Rules Editor. I've read online how it works in applications such as Visual Studio but I don't see any difference in iLogic between it and the other outlining tools such as Toggle All Outlining.
Any way to automate the import of Style Definition files into the style and standard manager in the drawing environment? If not is there some other way to do it?
I'm trying to insert our company logo (a DXF file) into the a title block definition however the insertion point seems to default to 0,0.How can I insert it with a user defined insertion point?
You will see from the attached screen snipe what I mean about being forced to insert it at the 0,0, coordinates. I'd like to insert it into clear space then scale it and move it into replace the existing logo.
I have some code to replace the current title block with a title block from a template file. I just don't like how it adds a new title block definition named "copy of titleblock". I'd like to delete or replace the current title block definition so only the newly added one is listed.
Sub test() Dim odrawdoc As DrawingDocument Set odrawdoc = ThisApplication.ActiveDocument If (odrawdoc.DocumentType <> kDrawingDocumentObject) Then Exit Sub Dim oTemplate As DrawingDocument Dim oSourceTitleBlockDef As TitleBlockDefinition Dim oNewTitleBlockDef As TitleBlockDefinition Dim oSheet As Sheet Set oTemplate = ThisApplication.Documents.Open(ThisApplication.FileOptions.TemplatesPath & "template.idw", False) Set oSourceTitleBlockDef = oTemplate.ActiveSheet.TitleBlock.Definition Set oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(odrawdoc) ' Iterate through the sheets. For Each oSheet In odrawdoc.Sheets oSheet.Activate oSheet.TitleBlock.Delete Call oSheet.AddTitleBlock(oNewTitleBlockDef) Next oTemplate.CloseEnd Sub
I'm just being picky at this point, but I don't want a buildup of title block definitions. We reuse drawings all the time which is why a simple method of updating a title block would be nice. I can just imagine in some years time after a title block update or two there are 20 "copy of copy of copy of .................. titleblock" listed in a drawing file.
I'm working on setting up a process where I can bring AutoCAD drawings into GIS. I need to assign an attribute to a Polyline or Line so that the attributes can be viewed in GIS. I've noticed there is a way to convert AutoCAD to a SHP or SDP however I'm not familiar with this process.
I am creating a series of Blocks representing cable terminations with labels at each end for terminal number, wire number and wire color for each twisted-cable pair, ie six labels for each pair. There will be blocks for cable configurations with different numbers of pairs. Having created the first block for a single pair, it should be easy to develop the multiple pair versions by copying the elements and renaming the labels, but I have to edit each attribute definition individually - is there a way of globally editing the definitions in the same way that you can edit attribute values when the block is used; eg if I have attribute Tags T1, W1, C1 and want to rename them to T2, W2, C2?
On my Property Set Definitions I have a attribute table called "ROOM_NO". This is where I enter the full number/character of the room, in my case the value usually looks like "101A", and sometimes "A101B" for Room number.
I was asked to do another table to separate the fields.
ROOM_PREFIX ROOM_NUM. ROOM_SUFFIX.
Separating the room number in 3 attribute tables to "A 101 B"
I was thinking referencing the ROOM_NO table in each box and filtering out the numbers and character. For example in ROOM_PREFIX I would reference ROOM_NO and filter out the number and the suffix letter through a formula. And in ROOM_NUM I would Filter both alphabetical character.
I've created a dynamic block with two visibility states. The second state is a copy of the first state, but some of the attribute definitions have been moved, along with some of the geometry.
When I insert the block, then toggle between the two visibility states, the geometry changes as I would expect, but the attributes stay in the position dictated on the first state.
How can I make sure that the attributes move for the second state, as I need them to.
I am a user of AutoCAD 2014 plain vanilla. I created a title block for my company which has worked well for a year or so. Recently, I have been experiencing the following. After inputing info like an address, sheet name etc. into an attribute definition everything will be fine. When I go and work on other other pages in paperspace, and then return, I will find that the text has dropped vertically into an area it shouldn't. how to remedy this? Attached is a screenshot.
Basically I have a rectangle and want to change the dimensions of it. There are a couple of attributed definitions that I want to stretch the and change it length but I alsowant the attributed definitions to move with the right hand side of the rectangle and the stay a constant distance from the right hand side. Unfortunately when I use the stretch action it filters out the attributed from the object that I can stretch, any way to include these AD’s with the stretch action
I have a drawing with all my block definitions and the blocks inserted and annotated. Seems that in a previous version of Autocad, I could insert the drawing and cancel the insertion at some point of the insertion command sequence, such that the drawing was not inserted, but all the block definitions remained. I could then use the insert command and all of these blocks were available. Yes, sometimes this made my drawing memory size rather large and I would have to purge the unused blocks later to reduce the memory size of my drawing.
I have created a new property set definition and added two manual property definitions and applied this to all objects. Every object on the drawings has distinct values for these two properties. These property values show correctly on the Extended Data tab of the Properties palette.
I have published to DWFX with AEC property set data set to 'Include'. In the resulting DWFX in Autodesk Design Review I can select each object and see the standard properties but not my special property set data.
Is there a way to change the material definitions to CTB format in the plot style under the material style? See attached image.
I have a client that wants everything in CTB format and in AutoCAD Architecture. I can get the drawings into CTB but the materials plot way too heavy and when I go in the styles they show Full Saturation or Wide, Thin from the STB plot styles.
The Drawing is in CTB and I am pulling my hair out trying to get the couple materials used set to Color based plotting.
My company has an excel program that extracts data from AutoCAD title blocks, processes it, turns it into printable spradsheet BOM's, and uploads the data to our ERP software. We're currently starting a transition form AutoCAD to Inventor. I've been asked to figure out how to make our excel program work with Inventor.
I'm hoping (but not expecting) to be able to change some lines around in the section that deals with extracting data and get it to work that way. I'm pretty sure of what needs to change, but I'm not so sure what it needs to change to. Does anyone know of any resources that someone who just started programming a couple weeks ago (me) could look at to learn more about how Inventor interfaces with VBA?
The other possible route I see is to export drawings from Inventor into AutoCAD.
The excel program reads block attributes. I've read that Inventor's version of attributes is prompted entry text, however, when I export Inventor drawings with prompted entry text lines that match the attribute lines from the old AutoCAD block they come in different. They're not editable inside of AutoCAD and the excel program doesn't see them. I haven't the slightest idea what's happening here.
A third way would be to use Inventor's iProperties, but there again, I don't know where to find information for the coding side.
Any way to create a dynamic link between the property set attached to a space and excel?
I have a lots of spaces that has a property set attached, some of this property changes often. So if it was possible to create a excel sheet that presents each property for each space and then I could change the property in excel and put it back to Architecture it would save me a lot of time.
I am new to dynamic blocks. I have figured out how to use the Properites block for "preset" definitions but we offer a product in infine sizes (within limits). For example the width may range from 30" to 200" in fractional increments which is impossible to set up presets. Is there a way that a person can set up the properties block so that a person would be prompted to enter required information, I.E. Width = xx", Height = xx" etc.?
I am using some custom property set definitions to add information to spaces. However as I insert spaces I find that I have to go to the extra step to add the property set to the object using the Extended Data tab in the Properties Palette.
It is not a huge deal but sometimes it is forgotten and schedules are not reporting properly, or the display theme is not correct. Although there are tools to quickly add them I would like to know if there is an automatic way to add them while creating the spaces/zones.
On a related note. There is a property set definition that is in each file by default called RoomFinishObjects. Is there a way to purge this? I don't want to attach finishes to my objects. But it seems to be embedded in the file.
Is there a way to preset the reach of the sprout on Location Property Definitions in Property Sets?
For example, I have upper cabinets that aren't over a Space, because there isn't flooring underneath them. Because of this, the sprout reports "Space Not Found" in the cabinet schedule, and I have to go in and manually pull each sprout out until it latches onto a Space.
I would like to set all sprouts to automatically reach out 2'6" from their insertions point.
I FINALLY decided to get my head around the Sheet Set Manager (kudos to Kate Morrical's video series).
I understand the need to create custom properties, and I can see that you can either "add" or "delete" custom properties, but is there any way to CHANGE the property after it's been defined?
For example, if I create a custom property complete with a default value, but discover later that I made a spelling mistake (eg. "Darwn By" instead of "Drawn By"), is there any way to MODIFY it?
Is it possible to save an attribute to an appearance then save it to a library? I would like to store some finish data that can be accessed later from the api. I can apply the attribute to all the necessary renderstlyes and use the SaveToGlobal() method. It seems to work great in the part the program is run from, but when I go to the next part and apply the same appearance it does not contain the new attribute. I have also tried creating a copy of the appearance in the document then save that to the library, but any appearances that I edit or create programmatically will not save to the library even if manually drag it within the appearance editor. My project show the material and appearance libraries set to read/write and if I create an appearance thought the editor I can move it to the library without any problems, it's only the items created/modified through the api that will not move. I am running Inventor 2013 SP2.
I'm making a site layout that brings together a bunch of large file assemblies and it's bogging my computer down,
so what I'm trying to do is remove the attributes from the assemblies and make it a block with no moving parts(hope this makes sense). I just need it to look like the parts.
Is there a way to burst all Inventor sketch-symbols and titleblocks into plain text upon exporting (from Inventor to Autocad DWG format)?
iLogic, api, xml ?
Our biggest supplier still uses Autocad DWG format and needs to access theses attributes in plain text (scripting stuff). The only work-around, we have found is to re-open each exported files and burst these manually
--- extremely time consuming and not acceptable ---
I have created a new layout from Templates that are the C3D standard templates. I get the below messages in my command bar and subsequently my template does not have any of the blocks, north arrow...nothing. Just a blank sheet. Why? See below messages that I copies from the command bar....
Command: <Layout from Template> Duplicate definition of block _ClosedBlank ignored. Duplicate definition of block AeccTickLine ignored. Duplicate definition of block AeccTickCircle ignored. Duplicate definition of block North ignored. Duplicate definition of block Graphic Scale - Imperial ignored. Duplicate definition of block ANSI D Title Block ignored.
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.
Is there a way to have a part, which is a part of a larger assembly, get the title, subject, etc. from its parent assembly? I have my template set to use the "Title" property in my title block but I'd like each individual part drawing to pull that "title" from the assembly, not from the part itself.
I have the default border set in all my templates but I want to add an outside border to the default border (so everything is ultimately enclosed in a large box). How can I add that to the default? I see where I can define a new border but I can't have two borders on the same drawing so how do I combine them? I want to keep the existing "smart" default border that lets me choose how many zones etc.