| | | | |
| |
| In lugnet.cad, Steve Bliss wrote:
> In lugnet.cad, Don Heyse wrote:
> > Here's what I'm talking about. Completely ripped off from the
> > MLcad.ini file.
> >
> > http://ldglite.sf.net/mirror.ini
> >
> > That one contains an entry every part in my parts.lst file. It
> > needs to have the changes made for the exceptions, but here's
> > how it starts. [...]
> > 2546.DAT 2546.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
> > 2546P01.DAT 2546P01.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
> > 6029A.DAT 6029A.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
>
> I think I've got a more general solution, but first a quick thought:
> You could make mirror.ini more human-readable if the 'normal' parts
> were just flagged. Something like:
>
> 2546.DAT default
> 41770.DAT exception 41769.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
Actually I was thinking of deleting them from the file to make it
smaller. The only problem is remembering which ones were deleted and
which ones are new at update time. I'm not sure how to automate
additions either way. Probably have to use the sorted properties of
parts.lst
> So, to make a long story short - I don't think MIRROR.INI should
> specify how to transform part A into part B without a mirror operation.
> It should specify the opposite: how to mirror part B into part A with
> a mirroring operation, so mirroring-programs can take the
> transformation being used on part A in the model file and wrap it
> around the mirrored part B.
>
> The main practical effect on MIRROR.INI would be that normal parts
> would have a mirroring transform (1 0 0 0 1 0 0 0 -1) instead of the
> standard transform.
I think that makes sense. Apply the mirror transform and/or substitution
from MIRROR.INI individually to all parts in the subfile, then apply a
global mirror (across whatever axis you want) to the whole subfile.
It sounds so simple. Could it be?
Don
| | | | | | | | | | | | |
| |
| In lugnet.cad, Don Heyse wrote:
> In lugnet.cad, Steve Bliss wrote:
> > You could make mirror.ini more human-readable if the 'normal' parts
> > were just flagged. Something like:
> >
> > 2546.DAT default
> > 41770.DAT exception 41769.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
>
> Actually I was thinking of deleting them from the file to make it
> smaller. The only problem is remembering which ones were deleted and
> which ones are new at update time. I'm not sure how to automate
> additions either way. Probably have to use the sorted properties of
> parts.lst
Keep a full.mirror.ini, with all the default entries. A simple grep drop the
extra lines, giving us mirror.ini.
> I think that makes sense. Apply the mirror transform and/or substitution
> from MIRROR.INI individually to all parts in the subfile, then apply a
> global mirror (across whatever axis you want) to the whole subfile.
>
> It sounds so simple. Could it be?
Well, it depends entirely on whether or not applying two mirroring
transformations always gives an un-mirrored result. If that's true, then we're
good.
Steve
| | | | | | | | | | | | | | | | |
| |
| In lugnet.cad, Steve Bliss wrote:
> In lugnet.cad, Don Heyse wrote:
> > In lugnet.cad, Steve Bliss wrote:
> > > You could make mirror.ini more human-readable if the 'normal' parts
> > > were just flagged. Something like:
> > >
> > > 2546.DAT default
> > > 41770.DAT exception 41769.DAT 0 1 0 0 0 1 0 0 0 1 0 0 0
> >
> > Actually I was thinking of deleting them from the file to make it
> > smaller. The only problem is remembering which ones were deleted and
> > which ones are new at update time. I'm not sure how to automate
> > additions either way. Probably have to use the sorted properties of
> > parts.lst
>
> Keep a full.mirror.ini, with all the default entries. A simple grep
> drop the extra lines, giving us mirror.ini.
Or generate a parts.lst (and stash it somewhere) before adding parts,
then diff it with the new parts.lst. I'm not sure how grep fits into
your plan though...
> > I think that makes sense. Apply the mirror transform and/or substitution
> > from MIRROR.INI individually to all parts in the subfile, then apply a
> > global mirror (across whatever axis you want) to the whole subfile.
> >
> > It sounds so simple. Could it be?
>
> Well, it depends entirely on whether or not applying two mirroring
> transformations always gives an un-mirrored result. If that's true,
> then we're good.
My math intuition says it should be. There are only two choices for
the sign of the determinant, and I think multiplying a negative matrix
by a negative matrix must result in a positive. Two wrongs *do* make
a right. Right?
Don
| | | | | | |