AutoCAD Inventor :: Converting Text String Into A Number
Dec 20, 2011I have a custom iProperty with a text value of "Plate, Steel 140 mm". Is it possible to strip out the 140 (text) from the string and convert it to a number?
View 7 RepliesI have a custom iProperty with a text value of "Plate, Steel 140 mm". Is it possible to strip out the 140 (text) from the string and convert it to a number?
View 7 RepliesIn a drawing, i have several text strings, 's', that i would like to change to a known block... is this able to be done? there are over 3000 's' in the drawing, hoping to change them all to the same block. let me know if this can be done.
View 2 Replies View Relatedin a drawing, i have several text strings, 's', that i would like to change to a known block... is this able to be done? there are over 3000 's' in the drawing, hoping to change them all to the same block.
View 9 Replies View RelatedI have text with number string. ( eg: weight 50 kg, xyz weight 362 kg)i want to extract the number values of "50" & "362" from the text string.
View 9 Replies View RelatedI'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!
I was wondering if there is a way that AutoCad can edit one text string and the same change can affect another text string, instead of editing the same thing twice.
View 9 Replies View Relatedi failed to find one which would change string of a text to other for all types of objects. I mean it was usually either only multitext, or only text, dimensions or attributes.creating one which would change in abt 200 drawings:
-001
-002
-003
to:
-00001
-00002
-00003
in attributes, text, multittext, leaders, multileaders, dimensions..... at the same moment?
It is meant to be used in ScriptPro (by loading lisp in script).
If not possible, then can also open each file and run the lisp in each of them - still would save lot of time.
I am populating iProperty "Description" field using expressions from the custom fields. These custom fields are exported from the parameters.
Is there a way of typing in extra plain text into the field onto the end of the expression without losing the expression formula?
Inventor 2010 Pro SP4, Vault Collaboration 2010
HP Z820 Xeon E5-2643 0 @ 3.3Ghz 16.0GB RAM
Nvidia Quadro 5000
I'm trying to create an iLogic rule that will print a text string to a cell or coloum of a parts list in inventor.
My code so far...
Sub Main()
On Error Resume Next
Dim oDrawDoc As DrawingDocument
oDrawDoc = ThisApplication.ActiveDocument
[code]......
I want to print what is in the Message Box into a cell in the parts list, and i am stumped. The cell i am trying to print to is a user property in the Parts List.
I'm trying to create an iLogic rule that will print a text string to a cell or column of a parts list in inventor.My code so far...
Sub Main()
On Error Resume Next
Dim oDrawDoc As DrawingDocument
oDrawDoc = ThisApplication.ActiveDocument
[code]...
I want to print what is in the MessageBox into a cell in the parts list, and i am stumped.The cell i am trying to print to is a custom property in the Parts List.
I have this interresting problem, it occured just here, in other situations, the script works fine.
I am counting length from coordinates:
Command: (setq bod1 ppo_bod1)(-0.821965 -1.7232 0.0)Command: (setq bod2 ppo_bod2)(25.428 13.1268 0.0)Command: !mfac0.025Command: (setq x (atoi (rtos(/ (abs (- (car bod2) (car bod1))) mfac))))1050Command: (setq y (atoi (rtos(/ (abs (- (cadr bod2) (cadr bod1))) mfac))))593Command: (- (cadr bod2) (cadr bod1))14.85Command: (/ (abs (- (cadr bod2) (cadr bod1))) mfac)594.0Command: (rtos(/ (abs (- (cadr bod2) (cadr bod1))) mfac))"593.99999998"Command: (atoi (rtos(/ (abs (- (cadr bod2) (cadr bod1))) mfac)))593
As you can see, the conversion from 594.0 (real) to string causes an inaccuracy, which is strange, because the length really is 594.0
I'm new to Inventor. I'd like to create some text, and then convert it to lines and arcs. I can't find any way to do this, and now I'm wondering if this very simple task is even possible in Inventor?
View 6 Replies View RelatedWhat I want to do is have text edit for single line text to start at the end of a string of text instead of high lighting the entire text. Is it possible to do this?
View 4 Replies View RelatedIm linking a prompted entry in a sketch symbol to a selection from the user in an array. The code works perfectly.
The array displays the number of sheets there are in the document, the user selects the correct one & the sheet number is displayed in the prompted entry. I need to add "SHT" before the number though in the code but I cant get it to work.
I dont want to add a text line into the symbol saying "sht"
Dim oApp As Application: oApp = ThisApplication
Dim oDoc As DrawingDocument: oDoc = oApp.ActiveDocument
Dim oSheet As Sheet: oSheet = oDoc.ActiveSheet
'This uses a sketch symbol with the name "'View On' View Label"
Dim oSymDef As SketchedSymbolDefinition: oSymDef = oDoc.SketchedSymbolDefinitions.Item("'View On' View Label")
'This is the selected view
Dim oView As DrawingView: oView = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingViewFilter,"Select View To Place Symbol:")
'This takes the label items of the selected view
'And adds it To an array that will link To the prompted entry
Dim sPromptStrings(2) As String
sPromptStrings(0) = oView.Name
sPromptStrings(1) = oView.ScaleString
oDoc = ThisApplication.ActiveDocument
Dim sSheet As Sheet
'create sheet number list
Dim oSheetList As New ArrayList
i = 0
s = "-"
For Each sSheet In oDoc.Sheets
i = i +1
oSheetList.add(i)
Next
oSheetList.add(s)
'get user input
mySheet = (InputListBox("View taken form sheet number.", oSheetList, oSheetList(0), "Sheet Number Ref.", "Sheet Numbers"))
sPromptStrings(2) = mySheet
'This is the position for the sketched symbol under the selected view'
Dim oPosition As Point2d: oPosition = oView.Center
oPosition.y = oPosition.y - (oView.Height / 2 + 2.5)
'This inserts the sketched symbol and fills in the prompted entry.
Dim oSymbol As SketchedSymbol: oSymbol = oSheet.SketchedSymbols.Add(oSymDef, oPosition, , ,sPromptStrings)
Instead of adding text as a prefix or suffix i would like to know if it is possible aswell to remove text from within text: For example:
I have these texts "I am not good", "he is not good", "what not to be" And i would like to remove the word "not" from all selected text so i would get "i am good", "he is good" , "what to be". The set word not will always be the same, so there is no need for user string input.
I've over 400 old AutoCAD 14 files that I want to batch process into pdf's at an "C" sized landscape layout.
I've tried tools in Adobe and CAD but can't seam to find the one that will open each file and export out a C print at the extents of each file.
Is it possible to associate leader text with a particular page number.
For instance, I want to write, "see page 6"
But if I add a page before 6 then I have to remember to update the note. Is there a way to live link this in the leader?
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.
Inventor 2010
I'm using ilogic to automatically build standardized descriptions that are linked to a field in our PDM system for future searches. The problem is that the variable "Length" (shown below) can sometimes be a whole number so it drops the trailing zeros and I want it to always be a two decimal value.
Formula:
iProperties.Value("Custom", "2ND_SUBTITLE")=CStr(ID)+" ID x "+CStr(OD)+" OD "+CStr(Round(Length, 2))+" LG"
Computed String Value
2.701 ID x 3.253 OD x 8 LG
I'm using the "Part Number" parameter inside a block of text in my drawing, but when I export it to AutoCAD DXF 2010 format, the text in the exported file shows up as "<PART NUMBER>", instead of displaying the actual part number.
-Using Autodesk Inventor Professional 2012
I am using ilogic in Inventor 2011 to update my iproperties when I save a .dwg file. I am having problems with some custom iProperties I have created that are of the type 'number' and are initially set to 0 (zero). After the iLogic rule has run and the user has entered a numeric value the type of the custom iproperty has changed to 'text'.
The ilogic code I am using is:
If iProperties.Value("Custom", "Nominal ID") = 0 Then
iProperties.Value("Custom", "Nominal ID") = InputBox("Enter The Nominal ID (Enter 0 if no value is available)", "Nominal ID", 0)
Custom_iProp_Nom_ID = iProperties.Value("Custom", "Nominal ID")
End If
I am using Vault 2011 and would like to map this property to a numeric property so I can perform <= and >= searches.
I have been given the task of figuring out a way to have etching placed on our parts to show the part number of the part. The end goal is to get the parts laser cut but have the part number etched into the part.Is there a way to convert text (i.e. 12345) to a sketched symbol that the punch feature would recognize and then add it to the library? Right now we are using 2012 but will be upgraded to 2014 within the next 6 months.
View 4 Replies View RelatedI 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.
Inventor 2014 64-bit SP1
Win 7 Pro 64-bit SP1
I change a block's attributes programmatically using thisfunction I created:
private void UpdateAttributes(Database database, Detail det) { using (Transaction tr = database.TransactionManager.StartTransaction()) { //Grab the BlockReference the detail refers to. BlockReference block = (BlockReference)tr.GetObject(det.ObjectId, OpenMode.ForRead); //Iterate over the Attribute ids. foreach (ObjectId [code].......
You can ignore the Detail and Detail Attribute objects as they are also user-defined. Also note that this function expects the database to be currently open for working on.
Everything in this function works fine, but there is a strange quirk that becomes noticeable only when I use this function to edit an attribute that has its "Invisible" property set to "No".
Below, is the original block that is edited via this function:
As you can see, the block has a number with 4 digits (for our purposes, call this the Block Number).
I know it is easy to enter special characters in using “%%” escape sequence. However, if I am not entering in single or multiline text, but rather in a dimension annotation’s “override” field, I found that the newly entered text completely overrides the original dimensional annotation.
For example, if originally I had a diameter of 7.98, and I would like to put a Φ sign in front of it to make Φ7.98, but it seems that there is no way to preserve the original content of 7.98 together with the Φ sign.
Is it possible to keep the original measurement within the string? What is the special character representing the original measurement?
I want to have a string of text that is curved at a given radius.
View 9 Replies View RelatedI am trying to add text to a set of text strings in a drawing.
The tricky part is that not all of the text strings are the same.
For example, change part numbers
123, 125, 456, 892
to
123-70, 125-70, 456-70, 892-70
Is there a way to do this for all of the strings at once?
I have spent the last three days writing a lisp program that will copy a text string from one text file and paste it into another. I have tried using the write-string, get string, prin1, princ and print functions with no success.
View 2 Replies View RelatedI'm looking for a function to return the actual text from an mtext object.if there's a carraige return I wish to replace it with a space.
View 4 Replies View RelatedI was writing code for my custom .net extension dll and one of the procedure involved therein was to replace the Text of MTEXT and DBTEXT entities with some predetermined Text String. I am using C#, AutoCAD 2012, and Visual Studio 2010. Here is the part of code wherein I am trying to replace the Text String of the MTEXT or DBTEXT entities.
foreach (SelectedObject selectedObject in selectionSet) { Entity currentEntity = transaction.GetObject(selectedObject.ObjectId, OpenMode.ForWrite, false) as Entity; if (currentEntity == null) { continue; } if (currentEntity.GetType() == typeof(MText)) { ((MText)currentEntity).Contents = textToCopy; } else { ((DBText)currentEntity).TextString = textToCopy; } } transaction.Commit();
The issue is that the text of the MTEXT or DBTEXT is not getting replaced with the string I am trying to. I debugged the code and it correctly hits the setting of MText.Contents == "Some String" and also transaction.commit(). But the text of the MTEXT still remains to the old value. Is this the correct way of changing the text of MTEXT / DBTEXT through the .Net API.
In order to avoid duplicate text string in different places in the same drawing, I would like to have such a tool to find duplicate text string.
For instance, I want to put numbering of some connection lines, I do not want to have different lines but have same number by mistype.