To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 7879
7878  |  7880
Subject: 
Re: Formalizing a method for handling synthesizable parts
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 23 Sep 2002 17:18:59 GMT
Viewed: 
366 times
  
Here is an update on formalizing synthesis.

For now, I'v decided to make the synhtesizer a stand alone program that runs at
a command prompt like L3P.  The program is called lsynth.

It takes two command parameters: source LDR name amd destination LDR name.

The synthesis specifications for a pneumatic tube look like this:

0 SYNTH BEGIN PNEUMATIC_HOSE 30 LDU
1 <color> <x> <y> <z> <a> <b> <c> <d> <e> <f> <g> <h> <i> <type>
1 <color> <x> <y> <z> <a> <b> <c> <d> <e> <f> <g> <h> <i> <type>
0 SYNTH END

The part usages in the specification are routing constraints.  The part type
does not matter, but I typically use 755.DAT as it makes a nice looking arrow
pointing the direction to follow to get to the end of the hose.

The first part usage says where the tube starts and what direction it is
pointing.  The last part usage says where the tube ends and what direction it
is pointing.  You can have more constraints between the first and last
constraints if you want to route the hose through specific parts of your
design.

lsynth spits out the synthesized hose into the output file as triangles.  The
triangles are the same color as the last constraint.  The constraint parts are
placed in the output file as comments.

So far I've got synthesis framework for ribbed hoses, rigid hoses, pneumatic
hoses, electrical cable, flexible axles, and fiber optic cables.  Ribbed hoses
are synthesized using using LDRAW ribbed hose parts.  All the other types are
synthesized using triangles.

The mechanics for parsing and running the constraints through the process work
well, and I can get synthesized results, but the synthesizer has problems with
hoses that have varying Z dimensions.

Flexible axles and electrical cables are synthesized as tubes for right now.  I
hope to add different tube cross section shape generation for axles and
electrical cables.

Last night I layed out a simple pneumatic circuit that included: pump, air
tank, switch and piston.  It took me about 10 minutes to enter the design
including the hose specifications into MLCAD.  Synthesis took but a few
seconds.  MLCAD took a very long time to read in the synthesized results (due
to all the triangles).  I've got to work on a mechanism to get good results
with less triangles.

The synthesizer is the weak link right now, but I figure that we can completely
revamp it any time we want as long as we don't have to mess with the
specification format.

The results look spectacular in POV-Ray.  I'll be posting what I've got,
source, executable and examples on my website this evening.

Kevin



Message has 1 Reply:
  Re: Formalizing a method for handling synthesizable parts
 
(...) Wow, sounds pretty exciting! Thanks for the update, I can hardly wait! (22 years ago, 23-Sep-02, to lugnet.cad.dev)

Message is in Reply To:
  Formalizing a method for handling synthesizable parts
 
I'm relatively new to the LDRAW CAD world, but am very impressed with all the work that has been done. It is amazing that we have such a huge parts database to work with. I've been working on a tool for publishing LDRAW based designs. It has been in (...) (22 years ago, 14-Sep-02, to lugnet.cad.dev) ! 

37 Messages in This Thread:









Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR