Pages

Showing posts with label Guest Blogger. Show all posts
Showing posts with label Guest Blogger. Show all posts

Thursday, March 1, 2012

What People Think of Engineers

Got this from a friend, and thought you might find it amusing.

Tuesday, February 21, 2012

Solid Edge Synchronous and Ordered Modeling Video Tutorial

Ally PLM released their latest Lunch Byte video tutorial, this time covering the topics of synchronous and ordered modeling. These videos are meant to showcase some of the feature of Solid Edge that you may not be aware of. Watch the embedded tutorial below to learn about how synchronous modeling accelerates the design process allowing for fast and flexible edits.

Sunday, February 12, 2012

Learn AutoCAD for Dummies Review

AutoCAD is one of the leading 2D software used by engineers, architects, and designers. AutoCAD 2012 for Dummies quickly brings readers up-to-date on the latest version with all the new additions and revisions to the program. This book includes great colored illustrations and tutorials to help users better understand the material. This book was a huge help to me, someone used to running AutoCAD 2005 when I needed to, but am now making the upgrade to AutoCAD 2012. Believe it or not, even with model based definition where data is contained with 3D models, I am still needing to go to AutoCAD from time to time to whip up a quick drawing for a fixture or jig. As a mechanical engineer, it never hurts to stay up to date on the latest software available and this book is a great way to do that.

I do want to note this book is written specially for Windows users (sorry MAC peeps).

Purchase AutoCAD 2012 for Dummies and start learning how to use AutoCAD today!

Saturday, December 3, 2011

Gift Ideas for CAD and 3D Modelers

Are you shopping for a CAD user, 3D modeler, or an engineer? Well, I have a couple of holiday gift suggestions for you.

A full-color guide to the #1 architectural drafting program—AutoCAD 2012 for Dummies. AutoCAD is the leading software used to create 2D and 3D technical drawings. Used by engineers, architects, and drafting professionals, it can be complex and is a perfect subject for the tried-and-true For Dummies format. Full-color illustrations make the instructions even easier to follow, because examples in the book appear exactly as they will on the screen.


Fully updated for the latest version of software, Kelley’s Pro/ENGINEER Wildfire 5.0 Instructor remains organized around step-by-step tutorials — the most effective way to teach and learn this procedure-intensive CAD application. Pro/ENGINEER Wildfire 5.0 Instructor provides a solid background in parametric design and constraint-based modeling. In addition, the comprehensive references make this text an all-in-one tutorial, reference, and lecture guide for students of Pro/ENGINEER.


CATIA V6 (Computer-Aided Three Dimensional Interactive Application) is the world's leading multi-platform CAD/CAM/CAE software suite marketed worldwide by IBM. It allows the user to apply its capabilities to a variety of industries such as automotive, industrial robots, electronics, manufacturing design, aerospace, and consumer goods. CATIA V6 Essentials includes all the major concepts related to the latest version of CATIA, such as installation, modes, and modeling in an easy-to-understand, step-by-step format. It also covers all the major commands and techniques and provides the reader with all of the details to learn the basics with a clear method of instruction. This comprehensive reference will help you navigate this multifaceted software with ease.


Solid Edge ST3 for Designers is a comprehensive textbook that introduces the users to direct modeling with precise control of dimension-driven design through precision sketching and selection handles using the Solid Edge ST3 software. The textbook covers all major environments of Solid Edge ST3 in both the Synchronous and Ordered modeling with a thorough explanation of all tools, options, and their applications to create real-world products.

And some shameless self-promotion. Have you ever wondered what it takes to design and build a roller coaster? At last, there’s a book that shows you. A mix of engineering and art, roller coasters are complex three-dimensional puzzles consisting of thousands of individual parts. Designers spend countless hours creating and tweaking ride paths to push the envelope of exhilaration, all while maintaining the highest safety standards. Coasters 101: An Engineering Guide to Roller Coaster Design examines the numerous diverse aspects of roller coaster engineering, including some of the mathematical formulas and engineering concepts used.

Tuesday, May 17, 2011

Theo Jansen Mechanism Matlab Code


I shared my m-code for the Theo Jansen mechanism awhile ago (LINK) but one of our readers recently created his own version of the program and offered to share it with us. Truong Duc Binh says:


"I programed for two legs and now I am making a computer interface with it, user can input parameters for Jansen walking machine. I divide this window form to two modes, you can simulate with constant alpha, or variable alpha."

Here is the complete m-code:

clear all

%Init link's length
L1=286;
L2=100;
L3=400;
L4=275;
L5=400;
L6=295;
L7=285;
L8=275;
L9=400;
L10=290;
L11=400;
L12=280;
L13=80;

alphaMax = pi/36; % 5 degree
alphaStep = pi/36/2; % 5/2 degree
alpha = -alphaStep;
k=3;

%To get the video:
mov=avifile('CoCau4KhauBanLe.avi','COMPRESSION','Cinepak');% None
for (a =1:1:(k+1))
    if a <= (k+1-rem(k+1,2))/2
        alpha = alpha + alphaStep;
    else
        alpha = alpha - alphaStep;
    end
    if alpha > alphaMax
        alpha = alphaMax;
    end
    if alpha<(-alphaMax)
        alpha = (-alphaMax);
    end
    for theta=0:pi/20:2*pi
    %for theta=0:(-pi/20):(-2*pi) % Quay cung chieu kim dong ho

    % Calculate angles:
    theta2 = pi - theta;
    theta3 = pi - theta + alpha;
    ssquared=(L2)^2+(L1)^2-(2*L1*L2*cos(theta3));
    s=sqrt(ssquared);
    beta=asin((L2*sin(theta3))/s);
    psi=acos(((L3^2)+(s^2)-(L4^2))/(2*L3*s));
    BCO2 = acos(((L5)^2+(L6)^2 - (L4)^2)/(2*L5*L6));
    CBO2 = acos(((L5)^2+(L4)^2 - (L6)^2)/(2*L5*L4));
    lambda=acos(((L4)^2+s^2-(L3)^2)/(2*(L4)*s));
    gamma = lambda - (BCO2 + CBO2)+ alpha + beta;
    O2AD = acos(((L9)^2+ssquared-(L8)^2)/(2*(L9)*s));
    omega = O2AD + alpha + beta;
    AO2D = acos(((L8)^2+ssquared-(L9)^2)/(2*(L8)*s));
    CO2D = pi - gamma - AO2D;
    CDsquared = (L6)^2+(L8)^2-2*L6*L8*cos(CO2D);
    CD = sqrt(CDsquared);
    O2CD = asin(L8*sin(CO2D)/CD);
    tempE = gamma - O2CD;
    CDE = acos(((L10)^2+CDsquared-(L7)^2)/(2*(L10)*CD));
    angleE = tempE + CDE;
    DEF = acos(((L10)^2+(L11)^2 - (L12)^2)/(2*L10*L11));
    tempF = DEF - angleE;
    DFE = acos(((L12)^2+(L11)^2 - (L10)^2)/(2*L12*L11));
    angleF = pi - tempF - DFE;

    %Find the points:
    O1=[0,0];
    O2=[-L1*cos(alpha),-L1*sin(alpha)];
    A=[L2*cos(theta) L2*sin(theta)];
    B=[A(1)-L3*cos(psi-alpha-beta) A(2)+L3*sin(psi-alpha-beta)];
    C=[O2(1)-L6*cos(gamma) O2(2)-L6*sin(gamma)];
    D=[A(1)-L9*cos(omega) A(2)-L9*sin(omega)];
    E=[D(1)-L10*cos(angleE) D(2)-L10*sin(angleE)];
    F=[D(1)-L12*cos(angleF) D(2)-L12*sin(angleF)];
    G=[F(1)-L13*cos(angleF) F(2)-L13*sin(angleF)];

    %************************LEFT********************************
    plot ([O1(1),A(1)],[O1(2),A(2)],'g','linewidth',3)
    hold on
    plot ([O2(1),O1(1)],[O2(2),O1(2)],'black','linewidth',3)
    plot ([A(1),B(1)],[A(2),B(2)],'b','linewidth',3)
    plot ([O2(1),B(1)],[O2(2),B(2)],'r','linewidth',3)
    plot ([O2(1),C(1)],[O2(2),C(2)],'r','linewidth',3)
    plot ([B(1),C(1)],[B(2),C(2)],'r','linewidth',3)
    plot ([O2(1),D(1)],[O2(2),D(2)],'b','linewidth',3)
    plot ([A(1),D(1)],[A(2),D(2)],'b','linewidth',3)
    plot ([C(1),E(1)],[C(2),E(2)],'b','linewidth',3)
    plot ([D(1),E(1)],[D(2),E(2)],'r','linewidth',3)
    plot ([D(1),F(1)],[D(2),F(2)],'r','linewidth',3)
    plot ([E(1),F(1)],[E(2),F(2)],'r','linewidth',3)
    plot ([G(1),F(1)],[G(2),F(2)],'b','linewidth',3)
    Gx(a)=G(1);
    Gy(a)=G(2);

    %*************************RIGHT******************************
    theta4 = theta + alpha;
    s2squared=(L2)^2+(L1)^2-(2*L1*L2*cos(theta4));
    s2=sqrt(s2squared);
    beta2=asin((L2*sin(theta4))/s2);
    angle2=acos(((L3^2)+((s2)^2)-(L4^2))/(2*L3*(s2)));
    B1C1O3 = acos(((L5)^2+(L6)^2 - (L4)^2)/(2*L5*L6));
    C1B1O3 = acos(((L5)^2+(L4)^2 - (L6)^2)/(2*L5*L4));
    lambda2=acos(((L4)^2+(s2)^2-(L3)^2)/(2*(L4)*(s2)));
    gamma2 = lambda2 - (B1C1O3 + C1B1O3)+ alpha + beta2;
    O3A1D1 = acos(((L9)^2+s2squared-(L8)^2)/(2*(L9)*(s2)));
    omega2 = O3A1D1 + alpha + beta2;
    A1O3D1 = acos(((L8)^2+s2squared-(L9)^2)/(2*(L8)*(s2)));
    C1O3D1 = 2*pi - A1O3D1 - lambda2 - (pi - B1C1O3 - C1B1O3);
    C1D1squared = (L6)^2+(L8)^2-2*L6*L8*cos(C1O3D1);
    C1D1 = sqrt(C1D1squared);
    O3C1D1 = asin(L8*sin(C1O3D1)/(C1D1));
    tempE2 = gamma2 - O3C1D1;
    C1D1E1 = acos(((L10)^2+C1D1squared-(L7)^2)/(2*(L10)*(C1D1)));
    angleE2 = tempE2 + C1D1E1;
    D1E1F1 = acos(((L10)^2+(L11)^2 - (L12)^2)/(2*L10*L11));
    tempF2 = D1E1F1 - angleE2;
    D1F1E1 = acos(((L12)^2+(L11)^2 - (L10)^2)/(2*L12*L11));
    angleF2 = tempF2 + D1F1E1;

    %Find the points:
    O3=[L1*cos(alpha),-L1*sin(alpha)];%
    B1=[A(1)+L3*cos(angle2-alpha-beta2) A(2)+L3*sin(angle2-alpha-beta2)];%
    C1=[O3(1)+L6*cos(gamma2) O3(2)-L6*sin(gamma2)];
    D1=[A(1)+L9*cos(omega2) A(2)-L9*sin(omega2)];
    E1=[D1(1)+L10*cos(angleE2) D1(2)-L10*sin(angleE2)];
    F1=[D1(1)-L12*cos(angleF2) D1(2)-L12*sin(angleF2)];
    G1=[F1(1)-L13*cos(angleF2) F1(2)-L13*sin(angleF2)];

    plot ([O3(1),O1(1)],[O3(2),O1(2)],'black','linewidth',3)
    plot ([A(1),B1(1)],[A(2),B1(2)],'b','linewidth',3)
    plot ([O3(1),B1(1)],[O3(2),B1(2)],'r','linewidth',3)
    plot ([O3(1),C1(1)],[O3(2),C1(2)],'r','linewidth',3)
    plot ([B1(1),C1(1)],[B1(2),C1(2)],'r','linewidth',3)
    plot ([O3(1),D1(1)],[O3(2),D1(2)],'b','linewidth',3)
    plot ([A(1),D1(1)],[A(2),D1(2)],'b','linewidth',3)
    plot ([C1(1),E1(1)],[C1(2),E1(2)],'b','linewidth',3)
    plot ([D1(1),E1(1)],[D1(2),E1(2)],'r','linewidth',3)
    plot ([D1(1),F1(1)],[D1(2),F1(2)],'r','linewidth',3)
    plot ([E1(1),F1(1)],[E1(2),F1(2)],'r','linewidth',3)
    plot ([G1(1),F1(1)],[G1(2),F1(2)],'b','linewidth',3)
    G1x(a)=G1(1);
    G1y(a)=G1(2);
   
    plot(Gx,Gy)
    plot(G1x,G1y)
  
    %************************************************************
    axis([-800 800 -800 400])
    hold off
    a=a+1;
    pause(.01)
    M=getframe;
    mov=addframe(mov,M);
    end
end
mov=close(mov);


Thanks again to Truong Duc Binh!

Thursday, April 8, 2010

Looking for Guest Bloggers

Are you interested in guest blogging? Do you have CAD experience or an interesting project to share? Want to get recognition and build links to your own blog or website? Leave your name and email in the comment field and I will contact you about writing an article for this blog!