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 / 14160
14159  |  14161
Subject: 
Re: Writing an LDDP plugin
Newsgroups: 
lugnet.cad
Date: 
Sun, 29 Oct 2006 19:32:06 GMT
Viewed: 
1652 times
  
In lugnet.cad, Willy Tschager wrote:
hi lee,

good to hear that you've dived into plug-in coding for LDDP! does it mean that
we also see your excellent "Edger" ported from java to a LDDP plug-in? You know
that I've been looking forward to see this happening for years.

Yes, it will mean that. The plugin I'm working on is called Fasterparts and will
cover a lot of different options. One of them will be the ability to add edge
lines via a simple meta command. Other meta commands are in the works or already
implemented. Here's what I have so far:


0 STRAND <name> [+] <vertex> <vertex> [vertex...]

Creates a string of vertices that can be connected by other meta-commands. The +
will add these vertices to the named strand instead of creating a new one.

0 STRAND_ARC <name> [+] <start> <end> <axis> <angle> <segments>

Creates a strand of segments+1 vertices in an arc. This follows the right-hand
rule, so with your thumb pointing in the direction of the axis, the arc swings
along the curve of the fingers from start to end.

0 STRAND_ARC_RADIUS <name> [+] <start> <end> <axis> <radius> <segments>

Same, but goes by radius instead of arc angle; if two angles are equally
possible (like 90 and 270), the smaller is chosen. This method can create a full
circle.

0 POLYLINE <strand> [color]

Creates line segments along the strand in the given color; if no color
specified, 24 is used.

0 CONNECT <strand1> <strand2> <out> [color]

Creates triangles connecting two strands. The first triangle faces the out
vector, with clockwise winding assumed. (If you use CCW, just negate the out
vector.) Others will follow this same winding. The default color is 16. Strands
needn't be the same length. Edge lines are not automatically added.

The edger hasn't been implemented yet, but will be. I also want a command to
split an edge, and one that will "quadify" two triangles--either by making them
a quad or by splitting their common edge to make four triangles with a more even
surface between them. The latter would work by finding the common edge, and the
line between the other two vertices, and finding the point that is closest to
both, then splitting there. So often I've run into triangles that either poke
outward along an edge or poke inward, when really I need something in between.

I'm also considering undertaking the horrendous task of creating an expression
parser for parametric strands, i.e. 0 STRAND_PARAMETRIC <name> [+] <x
expression> <y expression> <z expression>. I think we kinda need that.



Message has 1 Reply:
  Re: Writing an LDDP plugin
 
(...) Please consider adding the program name before your meta-commands as suggested by the LDraw 1.0.0 draft standard - see the very end of (URL) (18 years ago, 29-Oct-06, to lugnet.cad)

Message is in Reply To:
  Re: Writing an LDDP plugin
 
(...) hi lee, good to hear that you've dived into plug-in coding for LDDP! does it mean that we also see your excellent "Edger" ported from java to a LDDP plug-in? You know that I've been looking forward to see this happening for years. PLUK, w. (18 years ago, 29-Oct-06, to lugnet.cad)

7 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