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 / 7833
    Formalizing a method for handling synthesizable parts —Kevin L. Clague
   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) ! 
   
        Re: Formalizing a method for handling synthesizable parts —Larry Pieniazek
     (...) I think this would be very nifty! (...) One other type of flexible part is string. Taut string should conform to the shape of whatever it is wound on, leave tangentially, and have a linear path to the other end. Slack string should conform to (...) (22 years ago, 13-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin L. Clague
     Larry, Yes, I'm glad you mentioned string. It is similar to both bands and tubes. I'm not much of a mathematical theoretician, so I'll probably need some help designing the algorithms, but I can code like a madman. Kevin "Larry Pieniazek" (...) (22 years ago, 14-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
     Looks great ! Springs should probably be included too as they have ends with something variable in between... Philo www.philohome.com (22 years ago, 13-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     (...) Thanks Philo, Springs are always part of larger LEGO component, right? Shock absorbers and large pneumatic pumps come to mind. Are there other places they are used? Kevin (...) (22 years ago, 14-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
     (...) Yes, but these parts may be more or less squeezed depending on use, and subparts may be used to make them longer or shorter. Only spring length must be adjusted... Granted, that use much less important than true flexible parts. Philo (22 years ago, 15-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     (...) Philo, The springs are synthesized parts for sure. I don't percieve the shock absorber parts as much different than ends of hoses. The shock absorber pieces placement and orientation define where the springs should be. I just wanted to make (...) (22 years ago, 15-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Erik Olson
     How about, instead of specifying an entire curve, to specify the stiffness of each joint and use iterative solving to arrange the elements between endpoints? Adding constraints with other pieces would follow after that. (22 years ago, 13-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     Erik, I think that for tube like devices, the constraints will be vectors that indicate some part of the tube needs to be at this location and at this orientation. The endpoints are like this. This constraint mechanism works well for routing wires (...) (22 years ago, 16-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Erik Olson
     (...) Iterative solving requires a model and a way to compute how far it is from a desired state and a way to compute how to take a tiny step toward the desired state. You loop over tiny steps, updating the model, until either X steps are taken, the (...) (22 years ago, 16-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —John Gerlach
     In lugnet.cad.dev, Kevin L. Clague writes: <snip1> (...) <snip2> Someone posted something similar to this a while back, but I can't find it... They were demonstrating rendering (POV-Ray, I think) LEGO flexible tubing by defining it as a computed (...) (22 years ago, 16-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Dave Schuler
     (...) This? (URL) Dave! (22 years ago, 16-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —John Gerlach
     (...) Yes! That's the one! Good to know my memory hasn't *completely* gone soft in my old age... <grin> JohnG, GMLTC (22 years ago, 16-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Dave Schuler
     (...) I suspect your problem was that you were confused by the technical jargon of "Bend Thingie." 8^) Dave! (22 years ago, 16-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     Thanks for this pointer. I contacted Koen and he has gaciously donated his code to the synthesis effort. The results on his website are stunning. Going straight to triangles provides a much more finished looking result. This will work very well for (...) (22 years ago, 17-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Steve Bliss
     I'm going to mostly stay out of this discussion for now. I will throw out a few suggestions/requirements, though: 1. The final definition should be renderable by ldraw.exe. 2. It might be a good idea to put each 'synthesizable part' in its own file (...) (22 years ago, 17-Sep-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     (...) Steve, Thanks for the high level guidance. It is welcomed and appreciated. (...) Yes. Of course. I've set a few of my own goals also. An example of what I'm thinking about now is: 0 SYNTH BEGIN ELECTRIC_CABLE 1 0 -348 -114 70 0 0 -1 0 1 0 1 0 (...) (22 years ago, 17-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   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 (...) (22 years ago, 23-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Larry Pieniazek
   (...) Wow, sounds pretty exciting! Thanks for the update, I can hardly wait! (22 years ago, 23-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   I've created a small web page showing you the basics of lsynth, some example pictures, and a zip with example LDR files that specify syhnthesis, as well as the program lsynth. Kevin (...) (22 years ago, 24-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   (...) (URL) (...) (22 years ago, 24-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
   Hi Kevin, When I try to test Lsynth, my system (Win2000 french) complains that CC3250.DLL can not be found. Is it a standard component or is it specific to your program ? Philo www.philohome.com (22 years ago, 24-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   Gack! I'll have to put together a release package to get out all the borland libraries that are needed I guess. Kevin (...) (22 years ago, 24-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   I figured out how to get it statically linked. I was able to transfer (...) (22 years ago, 27-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
   Works fine here too! But the result files easily gets _BIG_... Philo (...) (22 years ago, 27-Sep-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   Hi Philo, I've been working on an algorithm that uses less triangles, and plan to add a option where the hoses can be made up of hose segments. Hose segments should reduce file size, but probably decrease quality. I've been beyond the edge of my (...) (22 years ago, 4-Oct-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   Philo, Boy, were you right, the triangle synthesis took a 3K file and made a 2M file. Unpalatable. I switched lsynth over to use LDRAW parts for synthesis. Now that 3K file ends up to be 500K, still much larger, but certainly better than before. (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
     Hi Kevin, It seems you forgot to link in CC3250.DLL... doesn't work on my system. (...) That's the kind of size I got... We must keep in mind that even if the ldraw file is smaller using parts, the number of triangle to render will be the same or (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
      Hi Philo, (...) Oop.s I reworked the organization of the code and ended up messing this up. 1.0.0.2 is uploaded now. (...) I understand, but I'm not sure what can be done about this. I used the cross sectional parts that already existed for flexible (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
     
          Re: Formalizing a method for handling synthesizable parts —Philippe Hurbain
      (...) Works fine now ;o) My tests were far from exhaustive though ! (...) I guess there is no perfect solution: modelling curved parts with some smoothness requires lots of polygons. Fortunately machine power increases! One possibility though would (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
     
          Re: Formalizing a method for handling synthesizable parts —Kevin Clague
       Philo, I like your idea of multiple resolutions. It could save a lot of space. I think I that I don't have a minimal solution to the number of segments used. Some fine tuning might make a big difference in file space consumed. The stuff that is out (...) (22 years ago, 12-Oct-02, to lugnet.cad.dev)
     
          Re: Formalizing a method for handling synthesizable parts —Chuck Sommerville
      (...) L3P supports conditional in-line POV primitives. You could use a low polygon count for tools like Ldraw and MLCAD, but have POV primitives for perfect objects in the ray-traced images. Here is an example of a torus: (URL) (22 years ago, 15-Oct-02, to lugnet.cad.dev)
     
          Re: Formalizing a method for handling synthesizable parts —Kevin Clague
      Chuck, This is a good idea. I'll put it on the list. Kevin (...) (22 years ago, 20-Oct-02, to lugnet.cad.dev)
    
         Re: Formalizing a method for handling synthesizable parts —Kevin Clague
     Hi Philo, I finally got my tangent between two circles code working! I can have two or more pulleys (or pins), with them inside or outside the rubber band, and band crossings. Right now they all have to be in the XY plane. I'm working on the code to (...) (22 years ago, 9-Oct-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Orion Pobursky
   (...) If you are going to go the subpart route, have you considered making an option to subpart the flexible object in a separate file so that seam width shrink is avoided when using L3P (or others) ? -Orion (22 years ago, 6-Oct-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Kevin Clague
   Orion, I had not thought about this. This is consistant with Steve Bliss' concern about putting out the synthesized parts in a seperate file so that they can be cosidered one part by other LDRAW compatible programs. I can see two issues here. The (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
   
        Re: Formalizing a method for handling synthesizable parts —Larry Pieniazek
   (...) You could always train it to know (and do it in a data file driven way so it's easy to add new types) (...) 2 levels of subfiles perhaps??? one subfile for the part which contains the synthesized part reference (another subfile) as well as (...) (22 years ago, 6-Oct-02, to lugnet.cad.dev)
 

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