AutoCAD Inventor :: Multiple Lines Of Text In A Custom IProperty
Aug 29, 2006
way to get multiple lines of text in an iProperty? I am using a custom iProperty named "Title" so users can insert the drawing title into the title block using the custom iProperty. The only problem is that the title comes out all on one line and goes outside the title block. Should I be using iproperties or is there a better way?
I'm looking to see if there is a way to link the revision number to a custom iProperty in the same part. Our laser requires a specific output for programming, but I only want this to show up on actual lasered parts as we don't need it on parts that are sawcut. Basically what I would like to do is create a custom iProperty that I can link to the title block for that reads RV:<Revision>. Is there a way to do this? I'd rather not create a separate drawing template for lasered parts as we've got about 100 templates for our various customers the way it is.
I am migrating our old Inventor data to our new system. I will do an ilogic script for that.
I know how to add custom iProperties with iLogic but how can I remove them? Is it possible with iLogic? I would like to clean out all old iProperties that we don't need anymore.
I am trying to add a custom iProperty from my assembly to the drawing parts list. According to the help wiki, I'm supposed to click Column Chooser > New Property > Custom Properties List (click here to see the relevant wiki page--also see the attached screenshot called Custom Property Help.png).
When I click on new property, there is nothing about Custom Properties List.
I've been using iLogic. I'm creating a template assembly that will be used for multiple jobs. Therefore, the job number will be changing. I want a custom iProperty in ALL parts and sub-assemblies (cleverly call it "Job #" maybe) that I can include an a separate property called "Drawing #" which whose value will be [some text]-<Job #>-[some more text]. I want to be able to update all the "some text" parts manually for each component, but I want the Job # to update automatically. I need this property because I have a column in all my Parts Lists called "Drawing #" which tells the drawing number for any given part or assembly.
Ultimately what I want to do is open a text or Excel file, enter the job number, open my Inventor drawing, and have every Drawing # entry in every parts list magically update to the correct job number.
I've managed to use iLogic to do just that with a single .ipt/.iam file. But I have dozens upon dozens of components in the main assembly. I'd like to run some rule or hit some button or do something that will cause the Job # property to update for ALL sub-assemblies and parts, so that all my parts lists reflect the change.
I have gotten in the habit of using a leader text with a custom iproperty to do material call outs on my drawings. I have been doing the first one then copy/pasting the leader onto each piece i want to call out.
This worked flawlessly in 2010 and has worked well previously in 2012. For some reason it is not working at all in this particular .idw.
work flow is to create the first instance, copy. right click outside the view border and select paste. Then attach to as many different parts as needed.
attached is the error message I get.
The custom iproperty is text. 1/2 a36 or 4x4x3/8 Angle
I found this code to create a custom iProperty in the current, open document:
Dim propertyName As String = "MyProperty"Dim propertyValue as String = "Test Value"customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")Try prop = customPropertySet.Item(propertyName)Catch ' Assume error means not found customPropertySet.Add("", propertyName)End TryiProperties.Value("Custom", propertyName) = propertyValue
I have a iLogic rule that goes through each component of an assembly, counts how many times it occurs in the assembly, and then assigns that value to an iProparty (i.e. it inserts the total quantity of the part in some iProperty). Currently, however, it assigns the value to a default iProperty value, "Authority". I'd like, instead, for it to assign it to a custom iProperty called "Total QTY". However, I don't know how to tell Inventor to do the above code for a component in the assembly rather than the assembly itself. Below is my entire code. I've labeled where I'm guessing the above code should go. How I'd modify the above code to create the iProperty in the component being processed by the rule at that point?
Current
''True comment: Begin '''Commented-out Begin '''PartDocumentObject = 12290''AssemblyDocumentObject = 12291Dim openDoc As DocumentopenDoc = ThisDoc.DocumentDim docFile As DocumentIf openDoc.DocumentType = 12291 Then''If the open document is an assembly:''For each document referenced in this document:For [code]......
In the attached file there are two custom iProperties that cannot be perminantly updated nor deleted. The iProperties are "size" and "purch_qty". These iProperties were created and set using a custom macro but they are of course accessable via the standard iProperties dialog. I can change the values for these particular iProperties but as soon as I save the file they revert back to their original values. Same goes for trying to delete them. All other iProperties, custom and otherwise, seem to behave normally.
The sketch in this file originated with a 2D DXF file for a vendor supplied aluminum extrusion quite a few years back. The original file has been copied (save-as...) to about 20 different files over the years. The iProperties in question were added years after most of the files were created, Each file is exibiting the same problem. These files are used in a LOT of assemblies. The thought of recreating all these files from scratch and updating the assemblies is not very inviting.
Is there a way to change an iProperty, specifically the iProperties->Project->Project field for multiple parts automatically.
I use the iLogic Design Copy Tool to copy over an entire project, and for the most part the only changes is the project number.
I didn't see a way to change this in the Design Copy Tool, possibly there is some other tools that can do this that I don't know about. But if not, I am assuming a small script (VBA??) would be required to do this? whether it is in Inventor or just an outside program to carry out this change.
I found this old thread, but it seems that people just found another way to do this?
[URL]
My workflow would follow something like this:
-Use iLogic Design Copy Tool to copy over project to new folder
-Open up full assembly
-Run rule or script to update all parts in assembly with new Project iProperty
-Save
-update the drawings as I need, (they will all need to be reviewed as some parts will be modified anyways)
I want to have a Blank size custom iproperty using flat extents length and width this is what i did but gives error is there a way to get this to work the way I want it to? I dont want a Length and width to be seperated would like it all in one.
I would really like to put some text in the part that links to the iproperties so I can emboss the stock number on the parts. It never fails that you create a new part, then forget to change the text. This would save a ton of time and re-plots.
I had wanted to find a way to engrave/emboss the part number on a part model and have it be parametrically tied to the part number iProperty. Since it doesn't appear that I can create a text box and insert the iProperty directly, here's what I did to work around this. (I setup my part templates to have this out of the box....)
1. Within, the IPT file, add a user text parameter called "PartNo" and set its initial value to any text value.
2. Create your sketch for your text to be engraved. Insert the User parameter you just created.
3. Create the engraving/embossing for your text.
4. Create the following iLogic rule:
' Requires a User Text Parameter called "PartNo" prior to running' Set the appropriate event trigger to tasteIf Parameter("PartNo") <> iProperties.Value("Project", "Part Number") ThenParameter("PartNo") = iProperties.Value("Project", "Part Number")InventorVb.DocumentUpdate()End If
5. I set this rule to fire using the "iProperty Change" event trigger. So if the iProperty is set or changed, your text will update. Obviously, you can set this to run with whatever trigger you like.
In the parent assembly a text iproperty exists called "child list". I would like to set this value via an ilogic rule that does the following:
For each child in the assembly where paremeter "include" = true, add the value of iproperty "filename" to a comma delimited list that will become the value of text Iproperty "child list" in the parent assembly.
The result should look something Like iproperty"child" = "filename1,filename2,filename3,filename4, etc..."
The rule must iterrogate all children, both parts and assemblies, and must go beyond 1st level children.
The output does not have to be comma delimited but must be delimited with something (eg tab, :, etc..)
The number of children is unknown
Is there a character limit imposed on a text iproperty?
I've been customizing acad.lin like a maniac for the last couple of days and there's a recurring problem that I can't resolve by myself.I have this line...
*EX-DASH,[G] Existing - - EX - - - - EX - - - - EX - - A,.125,-.0625,0.127,-.254,["EX",STANDARD,S=.127,U=0,X=-.127,Y=-.0635],-.2,.125,-.0625,.125,-.0625
The result is similar to...
- - EX - - - - EX - - - - EX - - - - EX - - - - EX - - - - EX - -
Let's say that the pattern of the line ("- - EX - -", because that's the part that's being repeated) takes 50 units to display at a given scale. I draw a PLINE and one section of the line is like 75 units long. If the line I'm drawing can't contain the pattern of my custom line, it won't display correctly. Given these numbers, the pattern would only display right once (75 / 50 = 1.5).
I get that and it's ok. HOWEVER, one thing I don't get is why autocad displays the pattern once and then fill the rest with a continuous line. It's okay for all my continuous custom lines with text because it keeps the same base line and it feels transparent (and it's also the reason I never realized it was reacting this way until I started working with dashed lines).
Example: I want to display "- - EX - - - - EX - -" but would only have space for "- - EX - - - - E". Acad will display "- - EX - -" once + continuous line for the remaining space.
I know that if there's no space to fit a second "EX" it can't be displayed, and that's all right, but how come it doesn't fill the rest of my line with dashes instead of a continuous line? With PLINEs, every time I turn a corner, I get this continuous line segment on each corner before it starts displaying the dashes (because I can't always draw lines that fits perfectly the pattern).
How to force it to display dashes when there's not enough space to repeat the pattern one last time?
3rd party tool which didn't match our scaling needs the file is a fas so I have tried to reverse engineer the whole function using trial and error. The following code works perfect except we need multiple (x amount) lines of text I have at current the M txt function which mimics and is effective for today however we need all lines to be individual.
I’m playing round with a loop but how to achieve my need..He had a 3rd party tool which didn't match our scaling needs the file is a fas so I have tried to reverse engineer the whole function using trial and error.
The following code works perfect except we need multiple (x amount) lines of text I have at current the M txt function which mimics and is effective for today however we need all lines to be individual.
;Starting lisp program...(defun C:REDtext ();Creating Layers (if non existant)...(command "layer" "m" "TEKST-1.5mm" "lt" "continuous" "" "c" "1" "" "");Memorising previous layer...(setq MYOLDLAYER (getvar "clayer"));Setting requierd layer...(COMMAND "LAYER" "SET" "TEKST-1.5mm" "");Setting variable "MYHEIGHT" to "DIMSCALE" x 2...(setq myheight (* 2 (getvar "DIMSCALE" )));Requesting and storing usser defind point...(setq MYPOINT (getpoint "Start punt :")); Requesting and storing user defind text...(setq MYTEXT (getstring T "Nieuw tekst :"));Placing text...(command "text" MYPOINT MYHEIGHT "0" MYTEXT); Restoring previous layer...(setvar "clayer" MYOLDLAYER);Closing lisp program...)
I've been looking for a solution to remove the unit string ie Lbs, g, kg from the value given from a 'Mass' value in a text string.
As you may all know, creating text and having a 'physical property - mass' value...the unit string is there...
Lots of people on here have the problem...no-one has got a solution.
Until now...
Basically...open the part you need to get the mass property of in your text string.
Follow the instructions on this webpage...this is the first part...
[URL]
Basically, this creates a Mass property value in the parameters table that you can call on as a text parameter.
It's similar to the custom iproperty model - mass but NOT the same.
Once you have done this, you can go to the drawing of the part and create a text string in the drawing and call it up as shown in this procedure. BUT it still has the unit string.
Here's the best bit that you want to know...
To get RID of the unit string...open up the part again from the drawing...click on the parameter icon...find the user parameter...in the Nominal value column, right click on the value and you get a pop-up that gives you 3 options...
Custom Property Format, Make Multi Value & Delete Parameter.
Click on Custom Property Format.
The pop-up window comes up...showing you the property type...in my case...the 4 left columns read Text, g (grams), Format & Precision...
On the right hand side I have a Preview of the text...then 3 check boxes...Units string, Leading Zero's, Trailing Zero's.
Units string is checked.
Uncheck it.
Close it...Save your part...go back to the drawing and hey presto!...the text now shows the weight you require as a straight value...no units!
the only property I can actually define for each individual sheet (for use in iLogic, text fields, etc.) is the sheet name. This is extremely limiting. Each sheet in my drawings has several properties of its own--sheet number (most importantly), what part is ON the sheet, the designer, the revision, etc. I would love to be able to use each of these in labels on the sheet, for example, a text box with "<Sheet #> - <Part> (<Designer>)". The only possible way I could do something like this is to use the sheet number as the Sheet Name, and then use that value in the sheet's text labels, headings, and title block. However, I want to be able to use descriptive names for the Sheet Name, plus that's just one property.
Is there any way I can create and define multiple custom properties for individual sheets? I was exploring the idea of using iLogic, using the ActiveSheet command, possibly, and "tricking" inventor into creating properties for a given sheet.
I've been trying to figure out how to add or make possible, multiple lines in the title block for the iProperties on title blocks. We have a custom title block here but the box is i a little too narrow for quite a few of the titles. it has plenty of height for two or even three lines.
How do I create multiple lines of text in a single layer. Everytime I finish with a line and want to go to the next, I hit 'Enter', but that completes the text. If I click on the layer image again, then it creates another layer.
So basically if I have 10 lines of text, I end up with 10 layers of text as well. Needless to say, this becomes to much trouble if I have to center each line of text and add blending options to 10 layers instead of one.
I was editing a file in illustrator that a past designer set up and he set it up so that there are multiple lines in a column of text that are linked some how so that the first line of text can be edited and the rest will change with it.
I would like to place a small square in front of multiple lines of text. I want to use it like a square that would be used as a checklist.
1. Where I can find a square in the Glyphs panel?' 2. If I create a square shape, and want to place it front of each line of text layed out in a text box, what is the best way to line the square on each line with each line of text?
I have a drawing of a sheet metal part with multiple sheets. I have named each sheet to reflect the nature of the views (general dimensions, detail views, flat pattern, etc.). I want the name of the sheet to appear in the title block, but I cannot seem to find the "Sheet Name" property anywhere. Can it be added to the list of the drawing or sheet properties, or is there another way to achieve this?. I do not want to have to use Custom Properties, and manually re-enter the names of each sheet.