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 / 5053
5052  |  5054
Subject: 
Re: Wires anyone?
Newsgroups: 
lugnet.cad
Date: 
Wed, 6 Dec 2000 18:22:19 GMT
Viewed: 
963 times
  
"Fredrik Glöckner" <fredrik.glockner@bio.uio.no> wrote in message
news:m3wvdpp04a.fsf@crossblock.localdomain...
"John VanZwieten" <john_vanzwieten@email.msn.com> writes:

I got the wire function to work, but I have a suggestion.  It would
be nice to be able to add control points to shape the wire
differently, in order to avoid pieces of the model.

Yes, I totally agree.  The subject of using multiple control points for
flexible elements has been discussed here recently.  However, I think
that the multiple control points approach is best suited interactive
CAD-like applications.  It would be a bit tedious to work with in an
editor, I think.

I would be fun to learn more about NURB curves, though, so I would like
to try it out some time in the future.


I'm guessing that the program uses the piece of wire included with
the contact part to establish the control point, but this is often
not how the wire behaves IRL.

You are correct.  I use the information from the placement of the
contact bricks to shape the whole wire.  There is also what I call an
"advanced usage of the function" in the tutorial, which was basically
what I started out with when I programmed the Bezier curve generator.
This fuction lets you choose the control points manually.  The shortcut
commands to generate variour flexible hoses are meant to be "quick and
dirty" solutions to match what most people would want when modeling a
hose.  If the element modeled has some degree of flexibility, this
usually works pretty well.  The end part of a flexible axle will always
start in the same angle as whatever it is connected to, for example.

The problem with the wires is that they are fundamentally different from
other flexible LEGO element.  As you correctly point out, they don't
behave as simple as, say, the flexible axles.  I pointed this out to
Manfred when we discussed it, and he said that the wires were
nevertheless generally pictured as one simple curve in the LEGO
instruction manuals.  So we gave it a try.


It might even be time to consider removing the piece of wire from the
contact part.  Often in models the wire bends sharply immediately
from the contact brick.

Yes, this is a good point.  If the wire end is removed (or at least
shortened), it is a simple matter to change the program accordingly.
This will have to be Manfred's option, I suppose, as he made the
electric contact brick with the wire end in the first place.

If you are interested in making these changes to the program yourself,
goto line numbers 2384 and 2388 (the line number is visible in the lower
status bar in Emacs) in the source code "ldraw-mode.el".  If the wire
end is shortened by 10 LDU, say, substitute 40 with 30 in these lines.
After these changes are applied, you will need to byte compile the
source code.  If you haven't byte compiled the source code in the first
place, you don't need to worry about this.  Also you will need to
restart Emacs.  Alternatively, if you use Emacs to edit the source code,
you can apply the changes by going to line number 2456 and pressing
CTRL+c CTRL+e.  That way you will not have to restart Emacs to have the
changes to the program applied.  This is all probably confusing, so feel
free to ask me if I'm doing a bad job at explaining it.

In the following lines (2392 and 2396) you will find the number 50 two
times.  These numbers indicate the position of the control points.
These are perpendicualar with respect to the brick and the starting
points, meaning that the wire will always stand straight out where the
curvature starts.  This can be changed, too, but you may be in for some
experimenting to make it look nice.


I changed the 50 to 43, and I was able to bend the wires more drastically.
I also created a part for the 2x2 brick w/o the wire.  Then I place
"dummy" bricks w/ wires so that the end of the wire is where I want my
real wire to begin.  This has worked well.

Perhaps you could have an "advanced" wire creator which asks how far from
the end of each wire nub the control points should be placed.  I believe
for my example above, the answer would be 3.  It would just be easier to
change this variable w/o having to edit and recompile the source code :)


I'm happy to hear that you found it interesting and hopefully worthwile.
Having used Emacs for nearly ten years, it was an obvious choice for me
to incorporate various functions I needed for working with LDraw files
into it.  This is a normal approach for Emacs users when encoutering a
new source file format.  (After checking if anybody else have made a
mode already, of course!)


Another suggestion:  Emacs support for .mpd files.  I found out when I
loaded a file with .mpd extension, LDraw-mode didn't recognize it as a dat
file.

-John Van



Message has 1 Reply:
  Re: Wires anyone?
 
(...) Are you sure about that? As I say in the documentation for the Bezier curve generator (follow the link which is called "Advanced useage"), the placement of the control points are not actually used, only the vector from the start to the control (...) (24 years ago, 6-Dec-00, to lugnet.cad)

Message is in Reply To:
  Re: Wires anyone?
 
(...) Yes, I totally agree. The subject of using multiple control points for flexible elements has been discussed here recently. However, I think that the multiple control points approach is best suited interactive CAD-like applications. It would be (...) (24 years ago, 27-Nov-00, to lugnet.cad)

9 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