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 / 6818
6817  |  6819
Special: 
[DAT] (requires LDraw-compatible viewer)
Subject: 
Re: LCD - LDraw Connection Database - Proposal
Newsgroups: 
lugnet.cad.dev
Date: 
Sun, 3 Feb 2002 22:17:54 GMT
Viewed: 
1170 times
  
  Kyle McDonald made Thursday a point:

If there's only ever one conection path (which we all know isn't
true) then the implementaion is pretty easy - It's just a big tree.
The problem comes when to sections of a model are connected by more
than one part. That will make the data structures alot more copmlex.
And that doesn't even go into trying to use the data structures for
actual functionality. How would you compute if the connection
combination will allow movement? or what range of movements are
allowed?

  Well, let's create an example.

0 Untitled
0 Name: sample.dat
0 Author: LAD
0 Unofficial Model
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 1
1 14 0 0 -20 1 0 0 0 1 0 0 0 1 3894.DAT
1 2 -20 24 -40 -1 0 0 0 1 0 0 0 -1 3743.DAT
1 3 -40 8 -30 0 0 1 0 1 0 -1 0 0 3749.DAT
1 8 -40 -16 -30 0 0 1 0 1 0 -1 0 0 3749.DAT
1 4 -40 8 -40 1 0 0 0 1 0 0 0 1 3647.DAT
1 14 -40 24 -20 1 0 0 0 1 0 0 0 1 3023.DAT
1 13 -50 32 -30 0 0 -1 0 1 0 1 0 0 3023.DAT
1 9 -40 -16 -40 1 0 0 0 1 0 0 0 1 3647.DAT
1 14 -40 -24 -20 1 0 0 0 1 0 0 0 1 3700.DAT
0

  Parts are coloured differently to make them easy to refer to.

  First, let's remove Pink, so Green is not connected to the Yellow
wall. Rotate Blue. What will happen?
  Blue is connected to two parts: to Gray with an Axle--Axlehole
connection, which cannot rotate -- it is firm --, and to Red with a
Gear--Gear connection, which can. (Rotation is slightly special in
this case, because it isn't made around the connecting point, but both
parts will rotate around their own center; this must be handled by the
software.) So, both Gray and Red will begin rotating in their own way.
  Gray is connected to Yellow with a Pin--Pinhole connection, which
isn't firm, it can rotate. So Yellow won't take over rotation, it will
stay moveless.
  Red is connected to Cyan as like as Blue to Gray, so Cyan will rotate
as it has to, and it is connected to Yellow as like as Gray, so Yellow
still won't begin rotating.
  Red is connected to Green, too. This is a Gear--Gear Rack connection,
which works almost the same as Gear--Gear, but makes one part to slide
instead of rotating. This is a _transformer_ connection which turns
rotation to sliding and vice versa. So, Green will begin sliding, and
being not connected to anywhere else, this is the result.

  Now, put Pink back where it was.
  Everything will happen as previously, up to the point where Green
begins to slide. It is connected to Pink, and Pink is connected to
Yellow. (Yellow bricks wear the same color and are treated as a single
entity, for simplicity.) These are firm connections, so Yellow will
begin slide together with Green and Pink.
  But Yellow is connected to Gray and Cyan, with a non-sliding
connection, so these parts will move together with them.
  But these parts are connected to Red and Blue, with a slidable
(Axle--Axlehole) connection, but they can't slide the required
direction (x), they could slide only in the z direction. So this is a
firm connection now, and Red and Blue will move left or right together
will the whole model.
  But here we reached back to the original part, Blue, which we
originally began to move. There must be an important law for LDraw
parts: You Mustn't Move Yourself (YUMMY). In the portrayed case, the
rotated Blue part would break the YUMMY law, and this isn't allowed,
so the entire moving process will be canceled. Blue cannot be rotated
in this case.

  Any comments? :)

La'ng Attila D., iro <lad@rentahost.net> <http://lad.rentahost.net>



Message has 1 Reply:
  Re: LCD - LDraw Connection Database - Proposal
 
(...) Only that editors might need to differentiate between 'rotatation' when editing a model, and 'rotation' performed within the physical constraints of a constructed model. Steve (22 years ago, 4-Feb-02, to lugnet.cad.dev)

Message is in Reply To:
  Re: LCD - LEGO Connection Database - Proposal
 
(...) Well I think that would be a good thing, I was under the impression that the goal of LCD was to allow modelling programs to help the user properly *place* the parts, not ness. remembering the connections. But maybe I'm missing something. If (...) (22 years ago, 31-Jan-02, to lugnet.cad.dev)

80 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