To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cadOpen lugnet.cad in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / 4532
4531  |  4533
Subject: 
Named rotation inheritance (Was: 2nd. Idea for a new feature to help rotation of parts in Ldraw Cad software)
Newsgroups: 
lugnet.cad
Date: 
Thu, 31 Aug 2000 18:46:24 GMT
Reply-To: 
jsproat@io.com!IHateSpam!
Viewed: 
772 times
  
James Reynolds wrote:
In lugnet.cad, Jeremy H. Sproat writes:
Hmmm, kinda clunky.  What we need is some kind of namespace
resolution for referring to lines from other parts.
I don't know what namespace resolution is.  It sounds like that means
the user would have to look at the part's dat file.  It would be nice to be
able to avoid that (which is why I came up with this inherit idea).

Wouldn't the user have to look at the part's DAT anyway, to see what named
rotation centers the part has?

Anyway, briefly, namespace resolution is a means by which we can
specifically address (resolve) some thing from inside some other thing
(namespace).  Like referring to a rotation center from inside a subpart.
The "specifically" part is important, as programmatical "magic" is bad.  (1)

0 ROTATION INHERIT CENTER hinge elbow
0 ROTATION INHERIT AXIS hinge elbow
1 15 0 50 -34 1 0 0 0 0 -1 0 1 0 partWithHinge.DAT
What if a model had several parts with hinges, and the user wanted to
specify which part.  Since parts aren't uniquely named in a dat file, I could
only think of syntax that requires the part to appear immediately after the
inheritance statement.

Oh, okay, I see what you're saying here.  Before I disagree with your idea,
lemme just say that it has a lot of merit.  But it kinda goes against what I
was suggesting, though, as I was taking a more object-oriented approach.  I
feel that it's the part's responsibility to know its own rotation axes, and
not the containing part's.  Likewise, I feel that it's the tool's
responsibility to handle the logic of the rotation (including scanning the
subpart for named rotation centers), not the containing part's.  If done
right, the user wouldn't even have to open up the subpart to see if it has
named axes.

Now, named axis inheritance is still an extremely useful idea, in that you
would be able to create a new subpart (say, a mecha's wing) by
"sub-classing" (inheriting) an existing part (say <part:2429> Hinge Plate 1
x 4 Base) and adding a new piece to it (say <part:6636> Tile 1 x 6), and be
able to *keep* the named rotation center from 2429.  IOW, your new subpart
consists of 2429 at the origin and 6636 on top of that, and since 2429 is at
the origin the new subpart can still be rotated appropriately using 2429's
named rotation centers.

This touches upon the concept of Stages from Karim Nassar's Artemis
Project.  (2)  I really really really like it.  :-,

Cheers,
- jsproat

1.  Unless you're a Perl programmer.  ;-)

2.  http://news.lugnet.com/cad/?n=4452

--
Jeremy H. Sproat <jsproat@io.com> ~~~ http://www.io.com/~jsproat/
Is it still illegal if I copy just the FBI warning?



Message has 1 Reply:
  Re: Named rotation inheritance (Was: 2nd. Idea for a new feature to help rotation of parts in Ldraw
 
(...) ... (...) I am pretty sure I don't understand totally what you are suggesting. I think that you are saying that NO rotational axis be specifed in a model, but rather, the program will scan a model's parts and find ALL rotational axis? That (...) (24 years ago, 1-Sep-00, to lugnet.cad)

Message is in Reply To:
  Re: 2nd. Idea for a new feature to help rotation of parts in Ldraw Cad software  [DAT]
 
(...) resolution for (...) I don't know what namespace resolution is. It sounds like that means the user would have to look at the part's dat file. It would be nice to be able to avoid that (which is why I came up with this inherit idea). If (...) (24 years ago, 30-Aug-00, to lugnet.cad)

15 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