My company has just made the change to Inventor Pro 2014 form Solidworks. I am still using both programs for the minute but trying to fade out solidworks in time. I have created a company template which matches our previous but I am struggling with the text. I can't seem to use Smart Text as i call it which links the model to the drawing, for example when inserting a model into a drawing getting the drawing to automatically fill in the Author, Date created, project etc. I have tried using the text properties and setting this up but I'm not really sure if I am doing it correctly or what I should type in. is this possible and can anyone help? basically every drawing I do I dont want to have to insert text box and manually input.
Solved! Go to Solution.
Solved by mcgyvr. Go to Solution.
Solved by mcgyvr. Go to Solution.
When you edit/create your title block..
Place the desired text using the highlighted steps show in the attached image.
Once the model is placed that (for exampel) <part number> will be replaced with the part number from the model.
thank you
the reason i didnt think this was correct or working was because on the title block the original text disappears when you exit edit mode, when i enter the text it is still visable.
can i ask you if you know how to create a new property and if it is possible? for example in my drawing template i want to add material, finish and mass.
Thanks again
well mass is type "physical properties-model" with the property of "mass"
For material/finish I simply add a custom property to each of my parts and pull that into the notes of the drawing..
That "custom properties-model" wont show up until you place a base view of the part..
But I'll set it in my part first.. place the base view, then create the text then just delete the base view and save the template.
see attached
here is a screenshot showing the custom tab in my ipt files iproperties.
and I have an ilogic rule that I run to create/fill out those in a semi-automatic way..
This will pop up a dialog box and you can just add/pick your standard finishes/materials,etc...
pDescription = InputBox("Enter value for 'Description'", "Description",iProperties.Value("Project", "Description")) If pDescription = Nothing Then Exit Sub iProperties.Value("Project", "Description") = pDescription pRev = InputBox("Enter value for 'Revision'", "Revision",iProperties.Value("Project", "Revision Number")) If pRev = Nothing Then Exit Sub iProperties.Value("Project", "Revision Number") = pRev 'Requires a custom iProperty called "MATERIAL" Dim CustMatl As New ArrayList CustMatl.Add(".093'' (-/+10%) POLYCARBONATE CLEAR SHEET UL94V-0 FLAMMABILITY RATED OR EQUIVALENT") CustMatl.Add(".125'' (-/+10%) POLYCARBONATE CLEAR SHEET UL94V-0 FLAMMABILITY RATED OR EQUIVALENT") CustMatl.Add(".010'' RIGID VINYL SHEET") CustMatl.Add(".010'' WHITE PAPER") CustMatl.Add(".032'' ALUMINUM 5052-H32 ALLOY") CustMatl.Add(".050'' ALUMINUM 5052-H32 ALLOY") CustMatl.Add(".063'' ALUMINUM 5052-H32 ALLOY") CustMatl.Add(".080'' ALUMINUM 5052-H32 ALLOY") CustMatl.Add(".125'' ALUMINUM 5052-H32 ALLOY") CustMatl.Add("18 GA. (.048'') STEEL 1010 ALLOY") CustMatl.Add("16 GA. (.060'') STEEL G90 GALVANIZED") CustMatl.Add("14 GA. (.075'') STEEL 1010 ALLOY") CustMatl.Add("13 GA. (.090'') STEEL 1010 ALLOY") CustMatl.Add("11 GA. (.120'') STEEL 1010 ALLOY") CustMatl.Add(".0625'' COPPER 110 ALLOY") CustMatl.Add("1/8'' COPPER 110 ALLOY") CustMatl.Add("3/16'' COPPER 110 ALLOY") CustMatl.Add("1/4'' COPPER 110 ALLOY") Try 'attempts to set the value.. If custom field not found it errors out, creates the property and tries again iProperties.Value("Custom", "MATERIAL") = InputListBox("MATERIAL", CustMatl, iProperties.Value("Custom", "MATERIAL"), Title := "Material", ListName := "Material") Catch ' Assume error means the property was not found 'define custom property collection oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") 'create the custom property oCustomPropertySet.Add("", "MATERIAL") 'set the custom property value iProperties.Value("Custom", "MATERIAL") = InputListBox("MATERIAL", CustMatl, iProperties.Value("Custom", "MATERIAL"), Title := "Material", ListName := "Material") End Try 'Requires a custom iProperty called FINISH Dim CustFinish As New ArrayList CustFinish.Add("NONE") CustFinish.Add("C241-BK01 BLACK SEMIGLOSS TEXTURED POWDERCOAT. FILM THICKNESS OF 2.0 TO 4.0 MILS MAXIMUM") CustFinish.Add("CLEAR ANODIZED PER MIL-A-8625 TYPE 2 CLASS 1 CLEAR AND SEALED WITH NICKEL ACETATE") CustFinish.Add("BLACK ANODIZED PER MIL-A-8625 TYPE 2 CLASS 2 BLACK AND SEALED WITH NICKEL ACETATE") CustFinish.Add("MATTE TIN PLATED PER ASTM B545 CLASS A ROHS 6/6 COMPLIANT") CustFinish.Add("ZINC PLATED ASTM B633 SC3 TYPE 3 CLEAR CHROMATE ROHS 6/6 COMPLIANT") Try 'attempts to set the value.. If custom field not found it errors out, creates the property and tries again iProperties.Value("Custom", "FINISH") = InputListBox("FINISH", CustFinish, iProperties.Value("Custom", "FINISH"), Title := "Finish", ListName := "Finish") Catch ' Assume error means the property was not found 'define custom property collection oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") 'create the custom property oCustomPropertySet.Add("", "FINISH") 'set the custom property value iProperties.Value("Custom", "FINISH") = InputListBox("FINISH", CustFinish, iProperties.Value("Custom", "FINISH"), Title := "Finish", ListName := "Finish") End Try 'Requires a custom iProperty called FINISH PRETREATMENT Dim FinishPretreatment As New ArrayList FinishPretreatment.Add("NONE") FinishPretreatment.Add("IRON PHOSPHATE CONVERSION COATING PER TT-C-490 TYPE 2 OR EQUIVALENT") FinishPretreatment.Add("MINIMUM 5 STAGE CHROME PHOSPHATE TREATMENT") FinishPretreatment.Add("ZINC PLATED ASTM B633 SC3 TYPE 3 CLEAR CHROMATE") Try 'attempts to set the value.. If custom field not found it errors out, creates the property and tries again iProperties.Value("Custom", "FINISH PRETREATMENT") = InputListBox("FINISH PRETREATMENT", FinishPretreatment, iProperties.Value("Custom", "FINISH PRETREATMENT"), Title := "Finish Pretreatment", ListName := "Finish Pretreatment") Catch ' Assume error means the property was not found 'define custom property collection oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") 'create the custom property oCustomPropertySet.Add("", "FINISH PRETREATMENT") 'set the custom property value iProperties.Value("Custom", "FINISH PRETREATMENT") = InputListBox("FINISH PRETREATMENT", FinishPretreatment, iProperties.Value("Custom", "FINISH PRETREATMENT"), Title := "Finish Pretreatment", ListName := "Finish Pretreatment") End Try 'Requires a custom iProperty called ROHS Dim Rohs As New ArrayList Rohs.Add("(6/6) FINAL PRODUCT SHALL BE ROHS 6/6 COMPLIANT PER EU DIRECTIVE 2002/95/EC") Rohs.Add("(5/6) FINAL PRODUCT SHALL BE ROHS 5/6 COMPLIANT (LEAD EXEMPT) PER EU DIRECTIVE 2002/95/EC") Try 'attempts to set the value.. If custom field not found it errors out, creates the property and tries again iProperties.Value("Custom", "ROHS") = InputListBox("ROHS", Rohs, iProperties.Value("Custom", "ROHS"), Title := "ROHS", ListName := "ROHS") Catch ' Assume error means the property was not found 'define custom property collection oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") 'create the custom property oCustomPropertySet.Add("", "ROHS") 'set the custom property value iProperties.Value("Custom", "ROHS") = InputListBox("ROHS", Rohs, iProperties.Value("Custom", "ROHS"), Title := "ROHS", ListName := "ROHS") End Try iLogicVb.UpdateWhenDone = True
mcgyvr - Thanks for sharing the iLogic. It's a great demonstration of how to populate missing iProperties so that the drawing phase becomes so much faster. It drives me mad watching people place hundreds of pieces of text every time they draw things! Parts lists should be no more than two clicks. If there's any manual editing going on, then the model is wrong.
(On looking through the code, I noticed you could remove a few lines... e.g iProperties.Value("Custom", "Finish") = "Painted" will now create the custom iProperty if it doesn't already exist, so you can bin the Try/Catch loops. Not sure when they changed it, but it's much easier now!)
Can't find what you're looking for? Ask the community or share your knowledge.