12 Top Posts on InspiredToEducate.NET

 

loop / rotate / translate

Programming

Science Education

 

Help us sustain SparkMacon: Our MakerSpace for Macon, GA by supporting our IndieGogo funding campaign.   http://igg.me/at/sparkmacon.

Even small contributions are helpful.   We’re very thankful for the generosity of our readers.

Related Stories on InspiredToEducate.NET:

Stories From MakerFaire NYC 2014

Make 3D Printable Models with JavaScript

loop / rotate / translate

My dad taught me the basics of computer programming using QuickBasic.   Even in middle school, I can remember us learning how to draw pixels on the screen with code.  As a kid, it seemed like magic just making simple shapes!  I was taking steps to learn how to build my own video game!!  These moments fueled by passion for learning for years to come!

Welcome to 2014… We now live in a world where modern browsers have amazing speed and 3D graphical capabilities.   I came across a tool called OpenJSCAD.org that empowers programmers and tinkers to build 3D models using the popular JavaScript programming language.  I wanted to take you though a simple tutorial to show you how it works.   It’s pretty fun!   The tool enables you to export your creations to STL format for 3D printing or editing.    I was able to edit the STL models using TinkerCAD after exporting.

Interested in learning JavaScript?   Check out CodeAcademy and our list of free JavaScript books.

You might use this tool to engage students in learning to code.  Professional programmers can use this tool to sketch objects using the most popular programming language on the web!

How does OpenJSCAD work?

Visit http://openjscad.org using Google Chrome.

As the screen loads, notice that the main menu appears on the left.  You have a JavaScript code window on the right.   I would encourage you to explore the main menu since it contains examples and documentation for the tool.

opening screen

Using the code window on the right, clear the contents of the code and paste in the following code:

function main()
{
var list = new Array();

var obj = cube([20,20,2]);
list.push(obj);

return list;
}

All OpenJSCAD programs must contain a function called “main.”   This function will be called to draw your 3D model.    The “main” function must return a list of objects that need to be drawn.   In this simple example, we create a list, create a square using the “cube” function, add the square to the list, and return the list.   Make sure your cursor is placed in the code window.   Press CTRL+ENTER.   This will run your program and render the scene.   It should look something like this.

a square

By default, objects will be drawn at the origin of the scene. (i.e. coordinates 0,0,0 in terms of x,y,z ).   Let’s say we want to draw another square slightly above the second.   To accomplish this, we need to translate the second square up on the Z axis.  Let’s change the previous code to show you how to accomplish this.  Notice the function call to “translate”.   Press CTRL+ENTER to render the code.

function main()
{
var list = new Array();

var obj = cube([20,20,2]);
list.push(obj);

obj = cube([20,20,2]).translate([0,0,5]);
list.push(obj);

return list;
}

two squares

 

 

The framework enables you to rotate objects by an axis.  In the next example, we will rotate a new square 20 degrees.  Copy the code below and run it in OpenJSCad.  In this example, you’ve learned how to create simple rectangular objects, translate them, and rotate them.  Cool!

function main()
{
var list = new Array();

var obj = cube([20,20,2]);
list.push(obj);

obj = cube([20,20,2]).translate([0,0,5]);
list.push(obj);

obj = cube([20,20,2]).translate([0,0,10]).rotateZ(20);
list.push(obj);

return list;
}

 

rotate example

 

In the next example, let’s create a small stack of these squares using a “for” loop.  Notice how we’re changing the “z” factor to position our squares in 3D space.    If you run this example, you should see something like this.

function main()
{
var list = new Array();

var z;

for(z=0; z<50; z = z + 2)
{
obj = cube([20,20,2]).translate([0,0,z]);
list.push(obj);
}

return list;
}

squares and loop

 

Let’s complete our 3D sculpture by adding a bit of rotation.  We’ll edit the previous program to add a rotation factor that will increase 10 degrees for every step.  The model should look like the following.

function main()
{
var list = new Array();

var z;
var rotate;

rotate = 0;
for(z=0; z<50; z = z + 2)
{
obj = cube([20,20,2]).translate([0,0,z]).rotateZ(rotate);
list.push(obj);
rotate = rotate + 10;
}

return list;
}

 

loop / rotate / translate

Here’s a few more artistic forms I’ve created while researching this blog post.   This post only scratches the surface of the tool.   You can learn more about OpenJSCAD using the user guide and examples.   I could imagine math and computer science teachers using this tool to help their students learn the basic of 3D space and computer graphics primitives.  If you make something cool with this, drop me a line on Twitter or Google+.   I would love to see your creations!  Happy coding!

screen07screen09

 

 

Help us sustain SparkMacon: Our MakerSpace for Macon, GA by supporting our IndieGogo funding campaign.   http://igg.me/at/sparkmacon .

Even small contributions are helpful.   We’re very thankful for the generosity of our readers.

 

Related Stories on InspiredToEducate.NET:

 

SparkMacon MakerSpace CROWDFUNDING CAMPAIGN HAS LAUNCHED! Contribute now and tell your friends!

 

facade_final

SparkMacon is a community innovation space equipped with the tools, equipment, and grass-roots education required to convert your idea into a reality. Think of us as a gym membership to exercise your creativity, hands and brain. We aspire to blend the best of art and technology.

Learn more about our SparkMacon campaign at IndieGogo.com

We aspire to build an authentic community of makers and business leaders.  To help create a thriving culture of innovation in Middle Georgia, we believe that our community should consider adopting the following values.

Most of these value propositions have been adapted from Ideo, a leading innovation consulting firm.

We were very excited to open the SparkMacon MakerSpace doors to our community.    After consultation with other MakerSpaces in the Georgia area, we were strongly advised to seek community feedback on tools and materials that we should consider purchasing for the space.   Likewise, our focus group provided suggestions on education programs they would like to see in SparkMacon.

Thank you again to Molly and Andrew from Georgia Pallet for sharing their pictures from the event!

For everyone who attended our first community meeting on Sept 4th, please know that we’re very thankful for your time, feedback and influence.   We have integrated and organized the focus group data and online survey data.   This data will be influencing our first round of equipment purchases and projects for our MakerSpace.  In the interests of transparency, we wanted to share this data with you, our community!  We have detailed all of the community feedback data at the conclusion of this post.

How can the community help in building the Maker Space?

Please consider volunteering to help build and assemble the MakerSpace.   Please follow us on Facebook, Twitter, or on our email list.   We also appreciate you sharing this vision for SparkMacon with your friends and family.    We will be posting volunteer opportunities soon.

  • First Cleanup day: This day will be the general cleaning day to get the space ready to pain.
  • Painting day: This day will focus on paining the stairs and walls of the space.
  • Workbench building.
  • Floor Finishing and Repair.
  • Partition Build: Once the space is “ready” we will be putting up partitions to separate the dirty shop from the rest of the space.  This will also serve to provide a storage space for supplies.

Can the community or my business sponsor equipment?

Yes.  We’re very thankful for any contributions from the community.   If your business is interested in sponsoring equipment or classes for the community space, please let us know.  Please direct your messages to info@sparkmacon.com .

How do I sign up for membership?  How do I contribute to the sustainment of SparkMacon?

Part of receiving the full amount from our initial seed grant from the Georgia Technology Authority (GTA) requires us to be able to show community support through a crowd funding campaign.

Learn more about our SparkMacon campaign at IndieGogo.com

We also know that without your financial support this project will be short lived.  We need members and community support from the start to succeed and that is where you come in.  With your support we hope to provide a home for the next generation of inventors and creators, support creative hobbies, and provide the resources for those individuals who are ready to create now.

While the GTA grant will provide for many of the initial tools and resources the space will need, there are many that it won’t.  Funds from this campaign will go toward expanding our offering to address more needs that the community has outlined in our initial research.

We hope we have provided perks at all levels for all people no matter their interest.  But some of the cool ones are discounted members, workshop attendance, T-Shirts, and invitations to our grand opening and Donor dinner.  Not to mention inclusion on our donor walls inside the space.

Thank You MaconMakers for all of your support and enthusiasm for this community venture.   With your help and our community collaboration, we know that we will be helping Macon citizens succeed in their businesses, create job opportunities, be more creative and innovative.

Questions or comments?   Drop us a line on Facebook, Twitter, or at info@SparkMacon.com .

 

 

Projects and Events Requested by Community

  • Young Makers Program
  • Cosplay
  • Support Local Robotics Team
  • Community Message Board
  • Design Mentor
  • Student Organizations
  • Makers Mixers
  • Partner with University Community Service Organizations. Create interesting service learning opportunities for students.

Technology Equipment Requested by Community

  • Legos /  Lego WeDo /Space for young makers to build
  • Digital Fabrication Equipment
    • 3-D printer(8 mentions)
    • 3D Scanner(4 mentions)
    • Laser Cutter(3 mentions)
    • CNC Machine(2 mentions)
    • 3D modeling workstation
  • Electronics
    • Soldering tools/welding(4 mentions)
    • Oscilloscope(2 mentions)
    • Raspberry Pi’s
    • Spectrum Analyzer
    • Frequency Counter
    • Galileo board’s
    • Logic Analysis Tools
    • Electronic parts inventory
    • Printed circuit board making tools
    • Breadboarding
    • Arduinos
  • Media
    • Music Lab/Audio Booth/Recording Studio(7 mentions)
    • Green Screen(2 mentions)
    • Video Presentation Equipment(2 mentions)
    • 3D Motion Capture Device
    • Adobe Creative Suite
    • Computer Stations

  Artisan/Craft Equipment Requested by Community

  • Photography Studio/Dark Room(3 mentions)
  • Metal/Clay Kiln(3 mentions)
  • Pottery wheel(2 mentions)
  • Drill Press(2 mentions)
  • Jewelry tools(2 mentions)
  • Floor Loom(2 mentions)
  • Air Brush
  • Anvil
  • Art Area
  • Art supplies & tools for conventional media artists
  • Band Saw
  • Belt Sander
  • Dishing Hammer & Bowl
  • Dress Forms
  • Embroidery Machine
  • Foam
  • Hammers for Blacksmithing
  • Industrial Sewing Machine
  • Lathe
  • Magnetized Picker Upper
  • Mini Forge
  • Paint Booth
  • Serger/Overlocker
  • Shop Vacs
  • Spinning Wheel
  • Spray Paint Gun
  • Vacuum Press/Form
  • Wood Shop

Education Requested By Community 

Area Class Title Freq
artisan/craft Tool Training: Basic Woodworking Tools 7
artisan/craft Tool Training: Hands On Metalworking Tools 5
artisan/craft Tool Training: Table saw Fundamentals 5
artisan/craft Jewelry I: Introduction to Metalsmithing 4
artisan/craft Tool Training: Rough to Smooth — Using the Miter Saw, Band Saw, Jointer & Planer 4
artisan/craft Photography Master Class 3
artisan/craft Tool Training: Hot Craft Studio Jewelry Shop 3
artisan/craft Tool Training: Router Table Fundamentals 3
artisan/craft Painting Master Class 2
artisan/craft Blacksmithing 1
artisan/craft Brewery Lessons 1
artisan/craft Chain Maille 1
artisan/craft Culinary Arts 1
artisan/craft Fabric Dying 1
artisan/craft Glass working 1
artisan/craft Horticulture 1
artisan/craft Leather Tanning 1
artisan/craft Sewing and Knitting 1
artisan/craft Weaving 1
business Business Consulting for Artists & Makers: Office Hours 7
business Arts Marketing for Artists & Makers: Office Hours 6
business Social Media Marketing 6
business Getting Started with WordPress 4
business Scrum Master Training 1
education Invent To Learn: Bringing Making and Tinkering to the Class Room 5
education Young Makers: Robotics 4
education Young Makers: Game Design 1
technology Introduction to 3D Modeling 13
technology Tool Training: 3D Printer 9
technology Intro to Inkscape for (Laser) Cutting / Laster Cutting 6
technology Circuit Hacking/Circuts 101/Electronic Workshop/Soldering 5
technology Introduction to Arduino 5
technology Introduction to Rasberry Pi 4
technology Programming the Web: HTML5 and JavaScript 4
technology Programming Simple Animations Using HTML, Canvas, and JavaScript 3
technology PC Board Making 1

 

 

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET