Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Excel VBA Quotation tool to open, refresh, print, and save/saveas Autodesk Inventor 2011 files

Posted on 2011-03-08
5
1,326 Views
Last Modified: 2012-05-11
We have a quotation tool that runs some file save and folder generations I would like to add a routine to convert the "Quote" to a project and link it to the Ilogic rouitines I have generated in Autodesk inventor 2011. The Ilogic is triggered by a file open / save. Phase one is to produce sales and shop drawings with the ilogic tool set then triger these tools from excel as the project folders are generated. I would like to trigger this from the excel quotation tool as a macro if possible. quote tool uses outlook to send email:

Set myOlApp = CreateObject("Outlook.Application")
Set myitem = myOlApp.CreateItem(olMailItem)

is there a similar command for Autodesk Inventor?

I am self taught as a programer and would much appreciate any help i can get on the VBA side. I am very skilled in inventor and will handel the ilogic side interenally.

Thank You

Scott
0
Comment
Question by:ctowers
  • 3
  • 2
5 Comments
 
LVL 12

Expert Comment

by:silverkorn
ID: 35072722
Autodesk is moving from VBA to VB.NET programming language, the developer's guide for .NET can be found here:
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html

If you wish to continue with VBA within AutoCAD 2010 or 2011 products you need to install module found here:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12715668&linkID=9240618

Here is some sample code from the .NET Developer's Guide i previously linked:

Open an existing AutoCAD Drawing:
Imports System.IO
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
 
<CommandMethod("OpenDrawing", CommandFlags.Session)> _
Public Sub OpenDrawing()
  Dim strFileName As String = "C:\campus.dwg"
  Dim acDocMgr As DocumentCollection = Application.DocumentManager
 
  If (File.Exists(strFileName)) Then
      acDocMgr.Open(strFileName, False)
  Else
      acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " & strFileName & _
                                                     " does not exist.")
  End If
End Sub

Open in new window


Save the AutoCAD Drawing:
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
 
<CommandMethod("SaveActiveDrawing")> _
Public Sub SaveActiveDrawing()
  Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
  Dim strDWGName As String = acDoc.Name
 
  Dim obj As Object = Application.GetSystemVariable("DWGTITLED")
 
  '' Check to see if the drawing has been named
  If System.Convert.ToInt16(obj) = 0 Then
      '' If the drawing is using a default name (Drawing1, Drawing2, etc)
      '' then provide a new name
      strDWGName = "c:\MyDrawing.dwg"
  End If
 
  '' Save the active drawing
  acDoc.Database.SaveAs(strDWGName, True, DwgVersion.Current, _
                        acDoc.Database.SecurityParameters)
End Sub

Open in new window

0
 
LVL 1

Author Comment

by:ctowers
ID: 35076790
silverkorn,

Thank you for your response. Will the code above work with Autodesk Inventor files or is it only "Autocad" specific?

thanks
0
 
LVL 12

Accepted Solution

by:
silverkorn earned 500 total points
ID: 35082389
That sample code should work with all instances of AutoCAD since they all share the common commands of open/save/close. When you get into Inventor specific tasks is when the code will not translate back to standard AutoCAD

Here is a great webinar series about programming with AutoCAD Inventor:
http://download.autodesk.com/media/adn/DevTV_Introduction_to_Inventor_Programming/
0
 
LVL 12

Expert Comment

by:silverkorn
ID: 35082438
0
 
LVL 1

Author Closing Comment

by:ctowers
ID: 35096629
Thank you for all your help and the direction. I was on the road with my tablet and couldn't see the video but got back yesterday and spent some time on it last night. It will help alot thanks.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
This tutorial explains how to create a series of drop-down lists that are dependent upon prior selections to guide (“force”) the user to make the correct selection and reduce data errors within Microsoft Excel. Excel 2010 was used for this tutorial;…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question