Free Autodesk Inventor Assembly Files

Tagged Under :

Posted in Autodesk Inventor, CAD by rajeev

Today, I stumbled upon a website which publishes textbooks, predominantly on CAD. While browsing through it, I figured out that they have a set of free Inventor assemblies, that can be downloaded. They can be found on this page on CADCIM. Scroll Down to section Inventor Files. A set of tutorials in pdf can also be found at the following URLs.

http://www.cadcim.com/Students_Project/basic_projects.htm
http://www.cadcim.com/Students_Project/intermediate.htm
http://www.cadcim.com/Students_Project/advance_projects.htm

Apart from CADCIM, there are other places where you can download Inventor Assembly and Part files for free. Check out

I shall try to update this blog post whenever I find more resources about free Autodesk Inventor parts or assemblies.

Minimize forms along with Parent Application or Form in C#

Tagged Under : , ,

Posted in CAD, Inventor Customization, Visual C#, tutorials by rajeev

How to minimize forms that belong to a particular application, when the parent application (In my case Autodesk Inventor) is minimized ? When you create software or addins, you would want the forms/dialogs to be minimized and not floating around when parent application is minimized.

For that we need to deal with hWnd of parent application. “hWnd” stands for Window Handle, which is the API call to the window(parent application). Since we come across this too often in Inventor customization to make addins, I have created a Class and a couple of methods for better clarity. Before I go into details, lets see what are the different types of Forms/Dialogs you would deal while developing Windows based software.

1)Modal Forms or Dialog Box

Modal Form

The modal forms are used when you want the user to enter some values and unless the form/dialog is closed, he/she cannot interact with other controls in the application. All the MessageBox’s are of modal types. The image on the left is also an example of Modal forms. Here, the user has to enter/select details of Graph plots in our addin IN-Motion.


2. Modeless Form

The modeless forms are used when user can enter values into the form and also can interact with other controls in application, even when the form is not minimized. The image on the left is the Simulation playback deck in IN-Motion.


Coming back to our problem of minimizing forms with parent application, below is the code. If the user minimizes Inventor application(parent form), its child forms are also minimized.


//
//Declare and set..here m_inventorApplication is the application
//MainFrameHWND returns its handle.
//WindowsWrapperForForm is a Class, defined at the bottom
WindowsWrapperForForm m_windowsWrapperForForm = new
WindowsWrapperForForm((IntPtr)m_inventorApplication.MainFrameHWND);

//Declare and set a form .. ModalCmdDlg is our modal form
ModalCmdDlg m_modalCmdDlg = new ModalCmdDlg();

//Declare and set a form .. ModelessCmdDlg is our modeless form
ModelessCmdDlg m_modelessCmdDlg = new ModelessCmdDlg();

//Show Modal form
ShowModalForm(m_modalCmdDlg);

//Show Modeless form
ShowModelessForm(m_modelessCmdDlg);

//Methods
private void ShowModalForm(Form _modalCmdDlg)
{
_modalCmdDlg.Activate();
_modalCmdDlg.ShowInTaskbar = false;
//ShowDialog is used..for Modal forms
_modalCmdDlg.ShowDialog(m_windowsWrapperForForm);
}

private void ShowModelessForm(Form _modelessCmdDlg)
{
_modelessCmdDlg.Activate();
_modelessCmdDlg.ShowInTaskbar = false;
//Show is used..for Modeless forms
_modelessCmdDlg.Show(m_windowsWrapperForForm);
}

//Below is the code for Class WindowsWrapperForForm
//****************Class***************

class WindowsWrapperForForm : System.Windows.Forms.IWin32Window

{
private IntPtr m_hwnd;
public WindowsWrapperForForm(IntPtr handle)
{
m_hwnd = handle;
}
#region IWin32Window Members
public IntPtr Handle
{
get { return m_hwnd; }
}
#endregion
}
//****************EndClass*******************

Opensource C# Graph Plot Library - ZedGraph

Tagged Under : , ,

Posted in Inventor Customization, Visual C#, tutorials by rajeev

Update: Check out Zedgraph C# Graph Plot Example Application , I have an example ZedGraph Application (with sourcecode) to draw Line Plot, Bar Graph and Pie Chart.

Update 2: Check out ZedGraph C# Graph Data Export to CSV Using a Custom Context Menu , It has code to make a custom context menu item and also export the graph plot data as CSV.

ZedGraph C# Graph Library

I was searching for an opensource(hence free) Graph plotting library in C# (or VB.NET), so that it could be used in our IN-Motion addin for Autodesk Inventor. After some googling, I found 2 suitable open source libraries namely ZedGraph and NPlot. When both websites(read wiki) were compared, I found ZedGraph recently updated and also had great documentation to take off immediately. I readily downloaded the latest version of ZedGraph dll from its SourceForge project and followed the instructions on ZedGraph wiki.

Within no time, I was ready with ZedGraphTest example, whose screenshot is above. It is so simple that, without even exploring, I could accomplish basic graph plotting. Some of the plus points I see in ZedGraph are:

  • Not much tweaking of source-code is required for basic tasks.
  • All the plot elements (line, curve, panel, axes, plot-markers etc) can be set different colors. Even gradients can be set to have crazy as well as good looking Graphs
  • Different types of graphs (line,bar,pie etc) are possible with ease.
  • Using left click on the plot panel, the graph can be zoomed
  • Middle button can be used to pan the plot
  • Upon right click over the plot, a context menu appears which, out of the box has a lot of useful features such as saving the image, toggle the on-hover highligthing etc
The code for my ZedGraphTest is below. I have changed only CreateGraph() method, and the remaining code is same as in the example.


private void CreateGraph(ZedGraphControl zgc)
{
GraphPane myPane = zgc.GraphPane;

// Set the titles and axis labels
myPane.Title.Text = "ZedGraph Test";
myPane.XAxis.Title.Text = "theta (angle)";
myPane.YAxis.Title.Text = "Sin (theta)";

// Make up some data points from the Sine function
PointPairList _list1 = new PointPairList();
for (double x = 0; x <= 360; x += 10)
{
double y = Math.Sin(x * Math.PI / 180.0);
_list1.Add(x, y);
}
// Generate a blue curve with Plus symbols,
LineItem _myCurve1 =
myPane.AddCurve("Sin (theta)", _list1, Color.Blue,SymbolType.Plus);

// Fill the pane background with a color gradient
myPane.Fill = new Fill(Color.White, Color.FromArgb(220, 220, 255), 45F);

//Make the MajorGrids of Axes visible
myPane.XAxis.MajorGrid.IsVisible = true;
myPane.YAxis.MajorGrid.IsVisible = true;

// Calculate the Axis Scale Ranges
zgc.AxisChange();
}

So far, this library has been a boon to me as I dont have to reinvent the wheel again. Thanks a ton to ZedGraph guys :)

Free Autodesk Inventor Video Tutorial

Tagged Under : , ,

Posted in Autodesk Inventor, CAD by rajeev

 

Free Autodesk Inventor Video Tutorial

 Check out the free screencast on Autodesk Inventor, titled “Adding 3D with Autodesk Inventor” by Lynn Allen, Autodesk Technical Evangelist. She explains how Inventor is the best choice for AutoCAD users, which definitely helps AutoCAD users to make a transition to Inventor. I am pretty much impressed with the screencast as I could learn a lot from it. Though the Inventor version using which this screencast was created is old (compared to Inventor 2008 I am using), the knowledge transfer was pretty much effective. After watching this video, I could learn a lot of functionalities and features that Inventor has and most often which are under-used. Thanks Lynn for such a wonderful screencast.

 

IN-Motion: Motion Simulation Addin for Autodesk Inventor

Tagged Under : , , , ,

Posted in Autodesk Inventor, CAD, Inventor Customization, Personal by rajeev

For the past few months, along with my mentor (Aik-Siong Koh), I have been busy developing Motion Simulation addin for Autodesk Inventor. We have named it IN-Motion. Once we are done with the development, it would be available for Autodesk Inventor users, in the form of an addin. Upon installing IN-Motion, they will be able to simulate an assembly both kinematically and dynamically. The following screencasts show the progress we have achieved so far in this regard and very soon we will be launching IN-Motion.

1) Basic tutorial on getting started with IN-Motion. We start with a blank Inventor assembly and place components and apply constraint. Then we start IN-Motion, set rotation to a Insert Constraint (Revolute Joint) and then simulate the mechanism/assembly. Watch high resolution video at AR-CAD.


2) Tutorial on simulating a four-bar mechanism. This assembly has 2 grounded parts and 3 movable parts, with 4 Insert Constraints. IN-Motion allows us to give rotation to one of the Insert Constraints and then the simulation can be made to see the behavior of the imposed motion. Watch high resolution video at AR-CAD.


3) Tutorial on simulating an Elliptical Trammel. This assembly has 4 components. IN-Motion deals with Planar and Insert Constraints in this case and the simulation takes place for an imposed Rotation on one of the insert constraints. Watch high resolution video at AR-CAD.


4) Tutorial on simulating an Engine. We start with the engine assembly that gets shipped along with Autodesk Inventor. Right now, we are not dealing with the sub-assembly(Piston.iam) parts and constraints. We are considering the sub-assembly as a block/part. Upon user feedback, we may actually extend upon the sub-assembly parts. This is mainly because, a lot of processing takes place in our Motion Solver and the sub-assembly parts(if non-trivial) add up to the CPU load. Watch high resolution video at AR-CAD.


5) Tutorial on Dynamic Simulation of a pendulum in Autodesk Inventor, using IN-Motion. We take the pendulum from Tutorial 1 and instead of giving a rotation, we set the value of Gravitational force for the assembly. IN-Motion then passes the gravity to our Motion solver and the dynamic simulation of the assembly takes place. This example is the simplest form of dynamic simulation and complex assemblies can also be simulated for dynamics. We are working on getting velocity, acceleration and force data at any point in the assembly, in the form of a graph. Watch high resolution video at AR-CAD.

I am an Autodesk Authorised Developer

Tagged Under : , ,

Posted in Autodesk Inventor, CAD, Inventor Customization by rajeev

Its been quite a long time since I last blogged. Some of the updates at my end

Autodesk Developer Network Logo

I have become an Autodesk Developer Network (ADN) member.


Secondly, I attended Autodesk Dev Days programme at Bangalore on November 12,2008. I could meetup with Autodesk guys and also Deelip Menezes of Sycode fame. I was lucky to be invited along with Deelip to dinner with Autodesk guys(picture below)


Third and most important update is the progress on IN-Motion. IN-Motion is the Motion Simulation addin we are developing for Autodesk Inventor. I am going to post screencasts on the progress of IN-Motion we have achieved so far and hoping to launch IN-Motion as soon as possible.


My First Autodesk Live Held At Bangalore India

Tagged Under : ,

Posted in CAD, bangalore by rajeev

Autodesk Live Bangalore 2009

Autodesk Live was held at Bangalore on September 25th, 2008 at one of the best locations in Bangalore viz Leela Palace. It was mainly concentrated on Autodesk MSD(Mechanical System Design) products. It was my first CAD related conference and I was really excited to be a part of it. The registration for the event had started quite some time back at Autodesk SAARC website and when I googled for any info on what takes place at Autodesk Live, not much info was found about Indian context. So that added to my excitement. 

To my surprise, I found close to 300 people who turned out as audience and around 10 guys from Autodesk had assembled to take us through the day’s proceedings. A couple of them had come from Singapore Autodesk SAARC center and others were from Delhi, Pune and also from Bangalore centers. Most of the audience assembled were end users of AutoCAD and some were also from automotive background who had just shifted from AutoCAD to Inventor for better 3D experience and productivity.

The session was started by Mr. Ajay Adwani, who heads MSD, Autodesk SAARC. He gave a key-note presentation about Autodesk in general and how it supports Designers to have an edge on Innovation front to drive the community further. He gave a nice example of how Mr. Ratan Tata envisioned a need for a low-cost car for common people and thus coming up with Nano. Not to wonder why Tata is the largest customer for Autodesk in India. It was also nice to know that Autodesk is the 2nd Software company to exist after Microsoft. He also threw some light on economic growth and stability of the company. It was more of a sales pitch with a message ” Guys, we are the company which has survived from past 26+ years. Everyone trusts us and know that we would always remain in the CAD field”. I am sure people were impressed with it.

The following session was from Mr. Sanjay Gera, who sits at Delhi center and looks after Sales in India. He briefly explained what Digital Prototyping was about and how it had helped companies to achieve better success and productivity. He also showed how 4 islands(depts viz Ideation, Engineering, Manufacturing, Customer) for a Product Manufacture can be seamlessly connected cutting down the cost and reducing the production time.

Then we had Customer sessions where 2 companies shared their success run by using Autodesk products. The first was BEML (Bharat Earth Movers Ltd) which uses Inventor to prototype their heavy machinery before finalizing the design and thus reducing costs enormously. The second company was Sartorious Stedim India Pvt Ltd, which does a lot of work in Biotech and Mechatronics. They have used Inventor to design their boilers, fermenters etc. They also showed how they had used Autodesk Navis Works, which is a great reviewing software, using which you can literally walk over your Assembly in Inventor.

The next session was about Autodesk Subscription by Mr. Ramesh Vedavyaasa and explained about various advantages of having an Autodesk Subscription. It would cost in the beginning, but people could really save the bucks in future, when the go for updates and upgrades. The following were the advantages explained:

  1. Tech Updrades
  2. Flexible Payment / Subscription system
  3. Direct web support
  4. Communication Center in 2009 products range and later integrated
  5. E-learning
  6. Usage of previous version (upto 3 last versions)
  7. Community Access
  8. Simplified Software Management

The following session was also taken by Mr. Ramesh Vedavyaasa which was “Building the Next Gen Designers”. He discussed about the challenges faced by CAD using industry viz Skilled Manpower, Rapid changes in Technology and Lack of revenue for Research purposes and how Autodesk has been trying to solve this problem by having a lot of training institutes to teach Autodesk technologies to college students and graduates and also by forming strategic alliances with some of the Universities to groom the talent there. Some of these in India are NID, Ahmedabad, IIT Kanpur, IIT Madras, JJ College, School of Planning and Architecture. 

We then had Lunch and could meet a couple of Autodesk guys and also Mr. Thomas of Microgenesis, Bangalore. In the morning, I had also met Sunith Babu of AUGI fame and helped him in distributing AUGI World Magazine to all the attendees.

Post lunch session was the most interesting of the day. Thanks to Mr. Prasad Pandit and his sense of humor. He made sure that nobody would feel drowzy after a heartious meal. He explained ” Whats new in AutoCAD 2009 ?”. Some of the things worth mentioning are 

  1. Ribbon Toolbar
  2. View CUbe
  3. Action Recorder
  4. Layer Properties Managers
  5. Fit and Finish
  6. Hover on an object to get its details as tooltip
  7. Tooltip/brief explaination on hovering on command buttons
  8. Mark Geographic location and integration with Google Earth with AutoCAD

The next session was “Digital Prototyping”. It was more of a combined session by Mr. Anand Joshi (Alias guy), Mr. Kiran (Inventor guy) and Mr. Ramana (AutoCAD Electrical guy). They showed us how they had solved an industry problem using Digital Prototyping. The problem definition stated them to Design a Floor Polisher for a client with some definite conditions. It began by Anand (looks like George Clooney) showed us how Alias looks like and used his tablet pen to come up with a concept design and then went on to show how they could generate curves and then surfaces and then make a 3D object with surface data in it. He then parsed on the finished data (Class A) to Kiran who then would add thickness to the members according to the Design standards. He explained how Design Accelartor could be used as a ready to use Design Data Book, which has a huge library of design data and also calculate various parameters while designing machine members, and also check whether a particular design is feasible or not. He also showed how AutoLimits could be used to check whether a condition was valid when Kinematic simulation of the Cleaning assembly was taking place.  Once mechanical stuffs are done, some Electrical wiring and connections need to be done between the motors and their power sources. So Kiran then parsed the Electrical related data in the form of XML which Mr. Ramana could import in AutoCAD Electrical. He briefly explained the working of it and how we could connect different ports/connectors and simulate the electrical way to check if it works as expected. After connecting the harnesses properly, he gave back the data file to Kiran, who then makes some final modeling to finish of the Assembly.
Anand (Alias guy) then showed us the completed assembly and I must say, I almost fell off my chair. It was really awesome, it looked very real and hats off to Alias rendering engine. It was a great learning session.

Followed was Q & A session with some lucky dip prizes. People came up with good questions and some sounded very trivial to me. Just after the session, I was keen to meet Autodesk guys and in particular anyone who works with Inventor API. I was lucky to meet Mr. Anand Pujari who looks after Inventor addins certification. Had a sound and healthy discussion with him on Inventor customization and got some good inputs from him as well. 

In a nutsheel, it was a great day at Autodesk Live and I would definitely be more than willing to attend future sessions as well. Though most of the audience were totally different from what I do or intend to do, I could meet up with some Autodesk folks who did help me out with some queries I had. Looking forward to make a good name in the field of CAD Development and Customization.