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 / 13704
Subject: 
Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 12 Apr 2006 15:58:30 GMT
Viewed: 
3489 times
  
Hi all,

  I've been up to my ears in NXT land, in case anyone noticed or wondered about
my absence.  Needless to say there are "unoffical" Ldraw parts being developed.

  I've increased my skill set as a part author (previously I've only modified
parts that were there.)  Contrary to the recommnendations I did my work in
MLCad.  Now I have a better understanding why a text editor might be a good
alternative.

  I don't have the time, *but* if a 3D GUI editor (e.g. LeoCAD or MLCad) were to
provide the concept of identified (maybe named) verticies, intersections of
planes with planes, cylinders with circles, etc.... I think it would be much
easier to create and edit parts.

  Lets say, hypothetically, I were to endeavor to create a part that involved a
lot of trianges and quads to work around some cylindrical thing.  There are 3D
points that are common to a group of lines, triangles, quads.  Todays
methodology for LDraw parts is to make sure manually that all those 3D points
have the right values in all the lines, tri's quads that share a given point.

  If we were to designate the design by indicating that a given vertex,
intersecting line or curve is used by many related things, then we could
potentially move the vertex (for example) and have *all* the lines, tri's and
quads that share that vertex updated automatically.

  Textually it makes me think of naming those things.  Named points in 3d space.
Named lines in 3D space.  Named arcs in 3D space.

  If we could do that, and express the lines, tri's and quads using those named
points (vertexes) I'd think that the parts suddenly become more maintainable
(i.e. easy to edit with less errors).

  I'm way to busy to act on this concept, but.... I know there are plenty of
capable people out there who could work on a simple textual implementation,
probably with nothing more than a C precprocessor.

  Anyone up for some fun?

Kevin


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Apr 2006 09:10:18 GMT
Viewed: 
4000 times
  
Hi Kevin,


  I don't have the time, *but* if a 3D GUI editor (e.g. LeoCAD or MLCad) were to
provide the concept of identified (maybe named) verticies, intersections of
planes with planes, cylinders with circles, etc.... I think it would be much
easier to create and edit parts.

You are completely right. Such a GUI editor is a program I was always looking
for (and - unfortunately- I still am). But for two years I have been programming
on a little editor to do things like that.
My programming skills are not that high (I only learned it one year at school,
that's all), but still I was able to implement some IMHO useful functions.
I will never be able to finish it, mainly because I cannot create working
executables out of the source code.

A sample screnshot can be found here:
http://www.brickshelf.com/gallery/smhltec/cad/mainscreenshot.png

The program uses LDView or L3Lab as a viewer. You can select the points of the
part in a list and use them to create lines, triangles, quads and so on, like in
MLCAD. But you can also modify them (that means you change the values of one
point and all objects containig this point will be modified). You can fill a
polygon with triangles (this feature sometimes does not work properly, don't ask
me why.)
The main advantage is that you don't have to remember all points, because you
can use the vertices of one object directly to create another (e.g. for adjacent
objects.)
I was planning many features more, but I did not have the time to finish them.

I could publish the source code so that someone could test / modify / improve /
have a look at it. It is written in Visual Basic.

Is anyone interested?

Leg Godt-
Sven


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Apr 2006 10:40:52 GMT
Viewed: 
4124 times
  
Sven Moritz Hein wrote:
for two years I have been programming on a little editor to do
things like that.
[...}
A sample screnshot can be found here:
http://www.brickshelf.com/gallery/smhltec/cad/mainscreenshot.png

The idea (and the program!) looks interesting, but I have one main question:

Where do the primitives enter in this picture? It looks like both Kevin's
ideas and your program are ignoring the primitives, working down on the bare
polygons.

Primitives are an essential part of part creation, aren't they? (Correct me
if I'm wrong)

To be really useful, such a tool would have to know about primitives, the
fact that the points of a primitive may not be moved relative to each other
(scale, translate, rotate the full primitive is all we are allowed to do).
The possibility to snap own lines and polygons to the points of a primitive
would of course be necessary (or vice versa, fit a primitive to one or more
own points?).

As for Kevin's ideas about intersection calculations, it is rather
difficult, as the only existing objects in the LDRAW world are the quad,
triangle and line. A .DAT file does not contain any information about more
abstract objects.

I belive the best route to a part modeller is to find an existing 3D
modeller that has the abstraction level, and functionality, that's needed,
and concentrate on making an export filter for that to produce .DAT files.
Are there no community projects working in that direction?

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Apr 2006 17:31:28 GMT
Viewed: 
4347 times
  
In lugnet.cad, Anders Isaksson wrote:
Sven Moritz Hein wrote:
for two years I have been programming on a little editor to do
things like that.
[...}
A sample screnshot can be found here:
http://www.brickshelf.com/gallery/smhltec/cad/mainscreenshot.png

The idea (and the program!) looks interesting, but I have one main question:

Where do the primitives enter in this picture? It looks like both Kevin's
ideas and your program are ignoring the primitives, working down on the bare
polygons.

Yes, primitives are important. In my program, you can add them just like any
other part. I already implemented moving and I wanted to add scaling and
rotating, but I did not understand the rotation matrix command. Could anyone
explain that to me? Then I could also add the points from the primitives to the
point list and everything would be ok!

Of course a good 3D modeller and a converter would be fine, but are there any
good and free 3D modellers? It's already possible to convert files from
SolidDesigner to LDRAW, isn't it?

I also wrote a program to convert ME10 files (two-dimensional drawings) to
LDRAW. I use this function very often when I create parts.

So I still think a GUI part editor is neccessary, a combination of MLCAD and
LDDP for example.

Leg Godt-
Sven


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Apr 2006 20:00:31 GMT
Viewed: 
4563 times
  
Sven Moritz Hein wrote:
Then I could also add the points from the primitives to the point
list and everything would be ok!

Ah, but it's here it's becoming interesting :-)

Now the point list must keep track of which points are 'free' and which are
belonging to a primitive (and not only 'a' but 'which?'), because the points
of the primitive may not be changed arbitrarily, only by translating,
scaling and rotating the full primitive. Which in turn may have effects on
other objects also connected to that primitive. And so on...

The more you start to think about it, the more complicated it gets.

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Apr 2006 08:05:44 GMT
Viewed: 
4774 times
  
In lugnet.cad, Anders Isaksson wrote:

Now the point list must keep track of which points are 'free' and which are
belonging to a primitive (and not only 'a' but 'which?'), because the points
of the primitive may not be changed arbitrarily, only by translating,
scaling and rotating the full primitive.

Okay.
My point list now only shows the points of the polygons, not of the primitives.
But if I implemented primitives, it would just add these points to the list.
When I modify one, these point's wouldn't be affected because - as you said -
you can't change them like that. The program would change all the points of the
polygons but the primitives would stay the same.

My program does not "define" the objects by the points in the point list, it
just reads the file and displays them in the list.

I also added the feature "Use second program", so that you can open the part in
MLCAD etc. and do the changes there, if you like. Then just save it and my
program will automatically update its point list.
I only wanted to create an extended version of the MLCAD part authoring
commands...

I think the bigger problem is a part containing subparts that also contain
subparts. I don't know how to handle this.  I could add points of a subpart to
the list (if I knew how to interpret the matrix), but not of sub-subparts or
sub-sub-subparts.

Another possibility would be that I added the primitive points temporarily, so
that they only appear when you really need them. Then I don't have any "dead"
points of former primitive shapes in the list and my program wouldn't have to
remember so many points. Just click on the part and say "Show points!" -
wouödn't that be a solution?

How do LDRAW converter use primitives? I think it'd be quite diffiult to make
the program recognize every scaled and rotated primitive.

You mustn't forget - this is all still a "dream". I did not program any
primitive integration yet. But if we know how to do it, I (or someone else?) can
try to add these features.

Leg Godt-
Sven


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Apr 2006 15:26:15 GMT
Viewed: 
3914 times
  
Kevin L. Clague wrote:

If we were to designate the design by indicating that a given vertex,
intersecting line or curve is used by many related things, then we
could potentially move the vertex (for example) and have *all* the
lines, tri's and quads that share that vertex updated automatically.

I just wrote a plugin for LDDP (LDraw DesignPad) which does 'SyncEdit'.

If you have seen the later versions of the Borland IDE, you know what I
mean, if you haven't, it's like this:

You select a part of a program and click the SyncEdit button. The IDE now
enters a special mode, where you can step through all variable names used in
the selection, and if you change one, all occurances will be changed at the
same time.

Applied to LDDP, my plugin works like this:

You can work on the whole file or, if a selection exists, only on the
selection. A window will be shown where the first XYZ of a line type
[2,3,4,5] is highlighted, and also *all other XYZ triplets having the same
value*. You can step forwards and backwards among the triplets, and if you
change one you can have that change applied to all the other highlighted
ones.

Finally you OK or Cancel the edits and return back to LDDP proper.

Unfortunately, my ISP wasn't very responsive right now (meaning I couldn't
ftp the file(s)), so I you (any you) want to test it you'll have to notify
me here or with mail to blockcad AT gmail DOT com

The plugin .dll is 121kB zipped, I also have a free standing .exe
demonstrating (approximately) the same behaviour as LDDP (221kB).

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Apr 2006 16:57:48 GMT
Viewed: 
4188 times
  
You can work on the whole file or, if a selection exists, only on the
selection. A window will be shown where the first XYZ of a line type
[2,3,4,5] is highlighted, and also *all other XYZ triplets having the same
value*. You can step forwards and backwards among the triplets, and if you
change one you can have that change applied to all the other highlighted
ones.

Finally you OK or Cancel the edits and return back to LDDP proper.

Unfortunately, my ISP wasn't very responsive right now (meaning I couldn't
ftp the file(s)), so I you (any you) want to test it you'll have to notify
me here or with mail to blockcad AT gmail DOT com

The plugin .dll is 121kB zipped, I also have a free standing .exe
demonstrating (approximately) the same behaviour as LDDP (221kB).

I'd be willing to give it a try.
I can also stick it on my site temporarily...

--
Dean Earley, Dee (dean@earlsoft.co.uk)

irc:    irc://irc.blitzed.org/
web:    http://personal.earlsoft.co.uk
phone:  +44 (0)780 8369596


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Apr 2006 17:35:13 GMT
Viewed: 
5627 times
  
In lugnet.cad, Sven Moritz Hein wrote:
In lugnet.cad, Anders Isaksson wrote:

Now the point list must keep track of which points are 'free' and which are
belonging to a primitive (and not only 'a' but 'which?'), because the points
of the primitive may not be changed arbitrarily, only by translating,
scaling and rotating the full primitive.

Okay.
My point list now only shows the points of the polygons, not of the primitives.
But if I implemented primitives, it would just add these points to the list.
When I modify one, these point's wouldn't be affected because - as you said -
you can't change them like that. The program would change all the points of the
polygons but the primitives would stay the same.

My program does not "define" the objects by the points in the point list, it
just reads the file and displays them in the list.

I also added the feature "Use second program", so that you can open the part in
MLCAD etc. and do the changes there, if you like. Then just save it and my
program will automatically update its point list.
I only wanted to create an extended version of the MLCAD part authoring
commands...

I think the bigger problem is a part containing subparts that also contain
subparts. I don't know how to handle this.  I could add points of a subpart to
the list (if I knew how to interpret the matrix), but not of sub-subparts or
sub-sub-subparts.

Another possibility would be that I added the primitive points temporarily, so
that they only appear when you really need them. Then I don't have any "dead"
points of former primitive shapes in the list and my program wouldn't have to
remember so many points. Just click on the part and say "Show points!" -
wouödn't that be a solution?

How do LDRAW converter use primitives? I think it'd be quite diffiult to make
the program recognize every scaled and rotated primitive.

You mustn't forget - this is all still a "dream". I did not program any
primitive integration yet. But if we know how to do it, I (or someone else?) can
try to add these features.

Leg Godt-
Sven

Just slightly on-topic...


I have done some semi-serious experimenting on my very old LDD program (LDD -
here: "LDraw Draw" and *not* "Lego Digital Designer"!)
My old program was not bad in many senses, but a disaster since you aren't even
able to save the work, just export as an LDraw dat file.

My LDD is a GUI pattern editor.
Screenshot:
http://web.telia.com/~u66203131/pix/ldd.jpg
URL:
http://home.swipnet.se/~w-20413/ldd.htm
It is so outdated by now that I don't recommend using it. But it may serve as an
inspiration when creating a new part editor.


Now, if I get serious with the newer version, users will be able to save the
project files in LDS format and of course create LDraw dat files as output. So
the temporary project name is set to LDSD. :)


/Tore


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Apr 2006 18:53:00 GMT
Viewed: 
4121 times
  
Dean Earley wrote:

I'd be willing to give it a try.
I can also stick it on my site temporarily...

Thanks for the offer. I've sent you the files. Please remember that it's
beta software, don't use it on your only copy of a valuable part file :-)

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Apr 2006 21:16:32 GMT
Viewed: 
3999 times
  
In lugnet.cad, Anders Isaksson wrote:
I just wrote a plugin for LDDP (LDraw DesignPad) which does 'SyncEdit'.

You can work on the whole file or, if a selection exists, only on the
selection. A window will be shown where the first XYZ of a line type
[2,3,4,5] is highlighted, and also *all other XYZ triplets having the same
value*. You can step forwards and backwards among the triplets, and if you
change one you can have that change applied to all the other highlighted
ones.

OoooOOOooo.  Cool.  I don't have time to play with it right this week, but I
definitely will grab it when I do get time.

Steve


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Apr 2006 21:25:42 GMT
Viewed: 
3803 times
  
In lugnet.cad, Kevin L. Clague wrote:
  I've been up to my ears in NXT land, in case anyone noticed or wondered about
my absence.  Needless to say there are "unoffical" Ldraw parts being developed.

Yeah. :)

  I've increased my skill set as a part author (previously I've only modified
parts that were there.)  Contrary to the recommnendations I did my work in
MLCad.  Now I have a better understanding why a text editor might be a good
alternative.

BTW, there are at least 2 reason not to use MLCAD to create parts which you want
to contribute to LDraw.org:

1. (General reason) it's more work than doing it in an enhanced text editor.
2. (Specifically) MLCAD does things to the file that are not allowed in official
part files, so you have to clean up the code afterwards (and then you can no
longer edit it in MLCAD).

  I don't have the time, *but* if a 3D GUI editor (e.g. LeoCAD or MLCad) were to
provide the concept of identified (maybe named) verticies, intersections of
planes with planes, cylinders with circles, etc.... I think it would be much
easier to create and edit parts.

I don't know if this helps, but we already have language to support this
concept.  The LDLite language extensions support the definition of named points
and matrices (and colors, but that's not so useful in this context).  In LDLite
code, you can create a file like:

0 POINT A1 10 0 10
0 POINT B2 -10 -10 -10
0 POINT C3 0 -10 0
0 POINT D4 10 -10 10
3 1 A1 B2 C3
3 2 B2 C3 D4

Even if the user were not aware of the point-names, I could see this format
being useful for programs that use point-lists.

It also typically results in smaller files than straight DAT code.

Steve


Subject: 
LDLite and LDS (Was: Call for GUI part editor)
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Apr 2006 21:52:42 GMT
Viewed: 
4101 times
  
In lugnet.cad, Steve Bliss wrote:
In lugnet.cad, Kevin L. Clague wrote:
  I've been up to my ears in NXT land, in case anyone noticed or wondered about
my absence.  Needless to say there are "unoffical" Ldraw parts being developed.

Yeah. :)

  I've increased my skill set as a part author (previously I've only modified
parts that were there.)  Contrary to the recommnendations I did my work in
MLCad.  Now I have a better understanding why a text editor might be a good
alternative.

BTW, there are at least 2 reason not to use MLCAD to create parts which you want
to contribute to LDraw.org:

1. (General reason) it's more work than doing it in an enhanced text editor.
2. (Specifically) MLCAD does things to the file that are not allowed in official
part files, so you have to clean up the code afterwards (and then you can no
longer edit it in MLCAD).

  I don't have the time, *but* if a 3D GUI editor (e.g. LeoCAD or MLCad) were to
provide the concept of identified (maybe named) verticies, intersections of
planes with planes, cylinders with circles, etc.... I think it would be much
easier to create and edit parts.

I don't know if this helps, but we already have language to support this
concept.  The LDLite language extensions support the definition of named points
and matrices (and colors, but that's not so useful in this context).  In LDLite
code, you can create a file like:

0 POINT A1 10 0 10
0 POINT B2 -10 -10 -10
0 POINT C3 0 -10 0
0 POINT D4 10 -10 10
3 1 A1 B2 C3
3 2 B2 C3 D4

I had no idea of that. How long has this been an LDLite feature? It reminds at
least me of LDS code. The same thing in LDS would look like this:
P1 10 0 10
P2 -10 -10 -10
P3 0 -10 0
P4 10 -10 10
3 1 P1 P2 P3
3 2 P2 P3 P4

Is it possible to let, say C3's and D4's y values follow B2? Like, in LDS, you
can change the code to:
P2 -10 -10 -10
P3 0 y2 0
P4 10 y2 10
and you only have to edit the y value of P2, then y3 and y4 will also follow. If
so, that would be really handy.

Even if the user were not aware of the point-names, I could see this format
being useful for programs that use point-lists.

It also typically results in smaller files than straight DAT code.

But not as small as the corresponding LDS code. :)


Steve


Subject: 
Re: LDLite and LDS (Was: Call for GUI part editor)
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Apr 2006 22:07:10 GMT
Viewed: 
4429 times
  
In lugnet.cad, Tore Eriksson wrote:

Is it possible to let, say C3's and D4's y values follow B2? Like, in LDS, you
can change the code to:
P2 -10 -10 -10
P3 0 y2 0
P4 10 y2 10
and you only have to edit the y value of P2, then y3 and y4 will also follow. If
so, that would be really handy.

That's cool. Probably a more versatile notation would be:

P2 -10 -10 -10
P3 0 P2.y 0
P4 10 P2.y 10

Can you also do chained values? eg:

P2 -10 -10 -10
P3 0 y2 0
P4 10 y3 10

ROSCO


Subject: 
Re: LDLite and LDS (Was: Call for GUI part editor)
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Apr 2006 23:49:45 GMT
Viewed: 
4255 times
  
Wow, Legos are getting religious?

http://www.lds.org/

;)


Subject: 
Re: LDLite and LDS (Was: Call for GUI part editor)
Newsgroups: 
lugnet.cad
Date: 
Wed, 19 Apr 2006 00:07:51 GMT
Viewed: 
4379 times
  
In lugnet.cad, Ross Crawford wrote:
In lugnet.cad, Tore Eriksson wrote:

Is it possible to let, say C3's and D4's y values follow B2? Like, in LDS, you
can change the code to:
P2 -10 -10 -10
P3 0 y2 0
P4 10 y2 10
and you only have to edit the y value of P2, then y3 and y4 will also follow. If
so, that would be really handy.

That's cool. Probably a more versatile notation would be:

P2 -10 -10 -10
P3 0 P2.y 0
P4 10 P2.y 10

Yes, but I try to keep it as short as possible. :)


Can you also do chained values? eg:

P2 -10 -10 -10
P3 0 y2 0
P4 10 y3 10

ROSCO

No problems at all. You may also rotate 90 deg's by assigning a -z at the x and
x at z if you like... Almost anything. These are also legal:

P2 -10 -10 -10
P3 0 y2 0
P4 0-z3 y3+4 x3
c=16
FOR i=-200 TO 200 STEP 20
1 c  i 0 0  1 0 0  0 1 0  0 0 1  stud.dat
NEXT i
btw, "1 c  i 0 0  1 0 0  0 1 0  0 0 1  stud.dat" is too long for lazy me to
write, so LDS does that for me if I just write:
stud.dat c i 0 0

See more example at:
http://web.telia.com/~u66203131/LDraw/lds/ldssyntx.htm

/Tore


Subject: 
Re: LDLite and LDS (Was: Call for GUI part editor)
Newsgroups: 
lugnet.cad
Date: 
Wed, 19 Apr 2006 01:04:10 GMT
Viewed: 
4167 times
  
In lugnet.cad, Tore Eriksson wrote:
In lugnet.cad, Steve Bliss wrote:
I don't know if this helps, but we already have language to support this
concept.  The LDLite language extensions support the definition of named points
and matrices (and colors, but that's not so useful in this context).  In LDLite
code, you can create a file like:

0 POINT A1 10 0 10
0 POINT B2 -10 -10 -10
0 POINT C3 0 -10 0
0 POINT D4 10 -10 10
3 1 A1 B2 C3
3 2 B2 C3 D4

I had no idea of that. How long has this been an LDLite feature?

Since a very long time; LDLite 1.6 supported it, and it wasn't the first version
to do so.  My LDLite 1.6 files are dated March, 1999.

The LDLite meta-commands are very useful -- I used them when I modeled the
soccer ball, way back when.

It reminds at
least me of LDS code. The same thing in LDS would look like this:
P1 10 0 10
P2 -10 -10 -10
P3 0 -10 0
P4 10 -10 10
3 1 P1 P2 P3
3 2 P2 P3 P4

Is it possible to let, say C3's and D4's y values follow B2? Like, in LDS, you
can change the code to:
P2 -10 -10 -10
P3 0 y2 0
P4 10 y2 10
and you only have to edit the y value of P2, then y3 and y4 will also follow. If
so, that would be really handy.

No, you can't do that with the LDLite statements -- each named point is atomic
(the component values can't be accessed), and there's no expression language --
the actual value of a named point is really just a text string.

Not to say it would be a big stretch to define a syntax like B2.y, to access the
y component of B2.  But it's not part of the existing definition.

Even if the user were not aware of the point-names, I could see this format
being useful for programs that use point-lists.

It also typically results in smaller files than straight DAT code.

But not as small as the corresponding LDS code. :)

True.  But the LDLite code has the advantage of having a straightforward
translation to standard DAT code.

Steve


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 19 Apr 2006 19:57:02 GMT
Viewed: 
4567 times
  
Anders Isaksson wrote:

I just wrote a plugin for LDDP (LDraw DesignPad) which does
'SyncEdit'.

OK, my ISP has woken up, and the files can be found here:

http://web.telia.com/~u16122953/syncedit.zip      Free standing .exe
http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

Remember, beta software!

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 19 Apr 2006 22:00:58 GMT
Viewed: 
4160 times
  
In lugnet.cad, Anders Isaksson wrote:
Sven Moritz Hein wrote:
for two years I have been programming on a little editor to do
things like that.
[...}
A sample screnshot can be found here:
http://www.brickshelf.com/gallery/smhltec/cad/mainscreenshot.png

The idea (and the program!) looks interesting, but I have one main question:

Where do the primitives enter in this picture? It looks like both Kevin's
ideas and your program are ignoring the primitives, working down on the bare
polygons.

Primitives are an essential part of part creation, aren't they? (Correct me
if I'm wrong)

To be really useful, such a tool would have to know about primitives, the
fact that the points of a primitive may not be moved relative to each other
(scale, translate, rotate the full primitive is all we are allowed to do).
The possibility to snap own lines and polygons to the points of a primitive
would of course be necessary (or vice versa, fit a primitive to one or more
own points?).

As for Kevin's ideas about intersection calculations, it is rather
difficult, as the only existing objects in the LDRAW world are the quad,
triangle and line. A .DAT file does not contain any information about more
abstract objects.

I belive the best route to a part modeller is to find an existing 3D
modeller that has the abstraction level, and functionality, that's needed,
and concentrate on making an export filter for that to produce .DAT files.
Are there no community projects working in that direction?

Hi Anders,

  Sorry for the tardy reply.  I failed to mention primitives, because they are
easy to work with compared to the manual nature of quads, tris and lines.  That
post was too huge to start with, so it is a good thing I didn't mention them
;^)

  My assumption was that the primitives would be used, but physically
unchangable, yet all the individual quads, tris and lines would be individually
clickable.

  I wish I had time to work on something like this.

Kevin


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 19 Apr 2006 22:45:56 GMT
Viewed: 
3994 times
  
In lugnet.cad, Steve Bliss wrote:
In lugnet.cad, Kevin L. Clague wrote:
  I've been up to my ears in NXT land, in case anyone noticed or wondered about
my absence.  Needless to say there are "unoffical" Ldraw parts being developed.

Yeah. :)

  I've increased my skill set as a part author (previously I've only modified
parts that were there.)  Contrary to the recommnendations I did my work in
MLCad.  Now I have a better understanding why a text editor might be a good
alternative.

BTW, there are at least 2 reason not to use MLCAD to create parts which you want
to contribute to LDraw.org:

1. (General reason) it's more work than doing it in an enhanced text editor.
2. (Specifically) MLCAD does things to the file that are not allowed in official
part files, so you have to clean up the code afterwards (and then you can no
longer edit it in MLCAD).


Ummmm.... given that.... could you be so kind as to tell me what those are?
This way I can choose to/or not use MLCad and then clean things up afterwards.

Thanks...

  I don't have the time, *but* if a 3D GUI editor (e.g. LeoCAD or MLCad) were to
provide the concept of identified (maybe named) verticies, intersections of
planes with planes, cylinders with circles, etc.... I think it would be much
easier to create and edit parts.

I don't know if this helps, but we already have language to support this
concept.  The LDLite language extensions support the definition of named points
and matrices (and colors, but that's not so useful in this context).  In LDLite
code, you can create a file like:

0 POINT A1 10 0 10
0 POINT B2 -10 -10 -10
0 POINT C3 0 -10 0
0 POINT D4 10 -10 10
3 1 A1 B2 C3
3 2 B2 C3 D4

Even if the user were not aware of the point-names, I could see this format
being useful for programs that use point-lists.

It also typically results in smaller files than straight DAT code.

Steve

To be honest, I figured there were some approaches to this issue already
implemented.  The topic was too obvious for me to be the first to recognize it.

I'll have to do some homework..... when I find a few nano-seconds of free time.

Kev

P.S.  Sorry you had to clean up those unofficial parts I created using MLCad.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Thu, 20 Apr 2006 20:24:17 GMT
Viewed: 
3837 times
  
Steve Bliss schrieb:
snip

BTW, there are at least 2 reason not to use MLCAD to create parts which you want
to contribute to LDraw.org:

1. (General reason) it's more work than doing it in an enhanced text editor.
2. (Specifically) MLCAD does things to the file that are not allowed in official
part files, so you have to clean up the code afterwards (and then you can no
longer edit it in MLCAD).

snip

I can not agree.

All parts that I have done are made with MLCad.

The only things I have to do before uploading is:
1) Remove lines with color entries (if you have some special added)
2) Remove lines with "ROTATE" statements
3) Remove all other meta statements (ex. MLCAD HIDE)
4) Change all "BFC CERTIFY INVERTNEXT" to "BFC INVERTNEXT"
5) Change "Unofficial Model" to "Unofficial Part"

Most of this can be done by scripts.

I can edit every part that I have created and uploaded to the parts
tracker again in MLCad. I only have to do the corrections (see above)
again before uploading.

I would not be a part author without MLCad.

MikeHeide


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Fri, 21 Apr 2006 08:34:24 GMT
Viewed: 
4240 times
  
In lugnet.cad, Kevin L. Clague wrote:
In lugnet.cad, Steve Bliss wrote:
BTW, there are at least 2 reason not to use MLCAD to create parts which you want
to contribute to LDraw.org:

1. (General reason) it's more work than doing it in an enhanced text editor.
2. (Specifically) MLCAD does things to the file that are not allowed in official
part files, so you have to clean up the code afterwards (and then you can no
longer edit it in MLCAD).

Ummmm.... given that.... could you be so kind as to tell me what those are?
This way I can choose to/or not use MLCad and then clean things up afterwards.

I did a quick test with MLCAD 3.11 and noticed the following:
(Opened a partfile in MLCAD and save it under a different filename
and then compared the two files)

MLCad adds two rotation commands to the header
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0

MLCad replaces every
0 BFC INVERTNEXT
with
0 BFC CERTIFY INVERTNEXT

No harmfull things are:
MLCad removes unnesseccary spaces and empty lines
MLCad replaces numbers as 3.10 with 3.1
MLCad replaces numbers as .123 with 0.123

Niels


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 26 Apr 2006 09:57:38 GMT
Viewed: 
4536 times
  
On Sun, 16 Apr 2006 17:31:28 GMT
"Sven Moritz Hein" <sm.heinonline@freenet.de> wrote:

Yes, primitives are important. In my program, you can add them just
like any other part. I already implemented moving and I wanted to add
scaling and rotating, but I did not understand the rotation matrix
command. Could anyone explain that to me? Then I could also add the
points from the primitives to the point list and everything would be
ok!

Of course a good 3D modeller and a converter would be fine, but are
there any good and free 3D modellers? It's already possible to
convert files from SolidDesigner to LDRAW, isn't it?

My ldraw import/export scripts for Blender can be used for part
editing, to a slight degree. It's lacking in edge functionality and
doesn't properly preserve comments currently. Since it was written
before Blender had the proper edge structures, perhaps that could be
improved, and comments could be tracked in a text. I used the script to
edit a couple of pieces before the bowtie winding fix was integrated.

The way it basically works now is that if you use it to import a piece,
it will load but not "flatten" that piece, so referring lines (such as
primitives or subparts) will be intact. Edges are nearly destroyed;
conditional lines will turn into "autosmooth" faces, and lines are
regenerated on export using only the active contrast colour.. I'm not
actually sure how that looks.

--
PGP fingerprint = 9242 DC15 2502 FEAB E15F  84C6 D538 EC09 5380 5746


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Wed, 26 Apr 2006 14:30:00 GMT
Viewed: 
4455 times
  
In lugnet.cad, Niels Karsdorp wrote:
I did a quick test with MLCAD 3.11 and noticed the following:
(Opened a partfile in MLCAD and save it under a different filename
and then compared the two files)

Thanks for doing this, Niels.

No harmfull things are:
MLCad removes unnesseccary spaces and empty lines

When creating part files, I frequently add 'unnecessary' spaces and empty lines
to improve (IMO) readability.

MLCad replaces numbers as 3.10 with 3.1
MLCad replaces numbers as .123 with 0.123

Change-tracking is much simpler if lines of code aren't changed unless they
actual need to be changed.  For people making new parts, MLCad's forced-format
isn't a big deal.  When people update/correct official files, I consider MLCad's
forced-format changes to be hostile to the update process.

Steve


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Fri, 14 Jul 2006 21:21:31 GMT
Viewed: 
4949 times
  
In lugnet.cad, Anders Isaksson wrote:
Anders Isaksson wrote:

I just wrote a plugin for LDDP (LDraw DesignPad) which does
'SyncEdit'.

OK, my ISP has woken up, and the files can be found here:

http://web.telia.com/~u16122953/syncedit.zip      Free standing .exe
http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

Remember, beta software!

hi anders,

I gave it try for a specific project I'm currently working on and where I have
to actually modify the figures (beside the rounding and a general clean up) and
it works fine! have you worked on the prog in the meantime and a stable 1.0 at
hand?
it would also be great if I could prompt to LDview or prompt to LDDP (which
would then prompt to LDView) in order to have visual feedback on the changes.
say a copy to LDDP feature).

thx, w.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 11:44:29 GMT
Viewed: 
5228 times
  
Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:

http://web.telia.com/~u16122953/syncedit.zip      Free standing .exe
http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

I gave it try for a specific project I'm currently working on and
where I have to actually modify the figures (beside the rounding and
a general clean up) and it works fine! have you worked on the prog in
the meantime and a stable 1.0 at hand?

Thanks for your feedback! No, I haven't done anything more, but if you say
it works fine then I can bump the version number to 1.0 :-)

Have you noted any obvious bugs or crashes?

it would also be great if I could prompt to LDview or prompt to LDDP
(which would then prompt to LDView) in order to have visual feedback
on the changes. say a copy to LDDP feature).

I'm not sure I understand what you mean here. If you use the plugin with
LDDP, the text (or selected text) in the LDDP editor will be replaced with
the result from the SyncEdit plugin.

There's no obvious way for a LDDP plugin to trigger an LDView refresh, that
should be the responsibility of LDDP (just setting the polling frequency in
LDDP?).

As for the standalone version of SyncEdit, it was only made to be a quick
test bench, no external links. I don't have any current plans of extending
it.

Feel free to continue reporting bugs and suggesting changes!

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 12:47:57 GMT
Viewed: 
5096 times
  
it would also be great if I could prompt to LDview or prompt to LDDP
(which would then prompt to LDView) in order to have visual feedback
on the changes. say a copy to LDDP feature).

I'm not sure I understand what you mean here. If you use the plugin with
LDDP, the text (or selected text) in the LDDP editor will be replaced with
the result from the SyncEdit plugin.

There's no obvious way for a LDDP plugin to trigger an LDView refresh, that
should be the responsibility of LDDP (just setting the polling frequency in
LDDP?).

LDview has an option to reload when the file changes.
This allows me to save in MLCad/LDDP then alt tab to LDView to see the
updated view.

--
Dean Earley, Dee (dean@earlsoft.co.uk)

irc:    irc://irc.blitzed.org/
web:    http://personal.earlsoft.co.uk
phone:  +44 (0)780 8369596


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 18:25:54 GMT
Viewed: 
5440 times
  
In lugnet.cad, Anders Isaksson wrote:
Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:

http://web.telia.com/~u16122953/syncedit.zip      Free standing .exe
http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

I gave it try for a specific project I'm currently working on and
where I have to actually modify the figures (beside the rounding and
a general clean up) and it works fine! have you worked on the prog in
the meantime and a stable 1.0 at hand?

Thanks for your feedback! No, I haven't done anything more, but if you say
it works fine then I can bump the version number to 1.0 :-)

Have you noted any obvious bugs or crashes?

nope 'til now.

it would also be great if I could prompt to LDview or prompt to LDDP
(which would then prompt to LDView) in order to have visual feedback
on the changes. say a copy to LDDP feature).

I'm not sure I understand what you mean here. If you use the plugin with
LDDP, the text (or selected text) in the LDDP editor will be replaced with
the result from the SyncEdit plugin.

There's no obvious way for a LDDP plugin to trigger an LDView refresh, that
should be the responsibility of LDDP (just setting the polling frequency in
LDDP?).

Feel free to continue reporting bugs and suggesting changes!

my usual approce to work my way through the code is polling to LDView with
"Poll to selected line only" enabled and LDView's feature "View -> Always on
top" turned on, so I can run LDView in a small window in order to have immediate
visual feedback.

say I wanna make some changes to a couple of tripples. I fire up SyncEdit and
change the first tripple. hang on! does it look right? instead of just coping
the current content of SyncEdit (containing my changes) back to LDDP I have to
hit "OK" which will close the prog :-( to do the rest I have to start up
SyncEdit again: right click, move to Plugins, move to SyncEdit ... select the
line ... change the tripple. dude, I don't have the patience for all those
clicks ;-) couldn't you code in something like LDView's "Always on top" and a
copy button?

I'd also like to see a tolerance box. you enter 0.005 and SyncEdit not only
marks -3.085 0 6.234 in the first two lines but also the -3.085 0 6.239 in the
third (in a different color?):

// 3 6 -2.864 0 6.532 -3.085 0 6.234 -3.232 0 6.305
// 3 16 -2.864 0 6.532 -2.609 0 6.297 -3.085 0 6.234
// 3 16 -2.609 0 6.297 -2.937 0 6.119 -3.084 0 6.239

sometimes I get rounding errors because the output of my cad-prog is quite
messy. the tolerance feature could not only work around this problem, but also
used to detect actual rounding errors.

as you already have figured out I'm a lazy guy. selecting the line and then
hitting two times the "next" button just to hop to the last tripple are two
clicks too much. how about selecting the tripple right away?

please give me also the possibility to change all red into blue. you know
substituting the color code 4 with color 1, gold (383) instead of main color
(16).

last but not least. when I start up SyncEdit I cannot make any modifications in
LDDP. I wish I could just jump from the plugin to the prog and back at my will,
with every change copied automatically to the prog or the plugin. basically it
is an extention of the request above.

hmmm ... quite a long list ... many thx in anticipation for fullfilling my wild
dreams :-)))

w.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 19:15:59 GMT
Viewed: 
5744 times
  
In lugnet.cad, Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:
Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:

http://web.telia.com/~u16122953/syncedit.zip      Free standing .exe
http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

I gave it try for a specific project I'm currently working on and
where I have to actually modify the figures (beside the rounding and
a general clean up) and it works fine! have you worked on the prog in
the meantime and a stable 1.0 at hand?

Thanks for your feedback! No, I haven't done anything more, but if
you say it works fine then I can bump the version number to 1.0 :-)

Have you noted any obvious bugs or crashes?

nope 'til now.

it would also be great if I could prompt to LDview or prompt to
LDDP (which would then prompt to LDView) in order to have visual
feedback on the changes. say a copy to LDDP feature).

I'm not sure I understand what you mean here. If you use the plugin
with LDDP, the text (or selected text) in the LDDP editor will be
replaced with the result from the SyncEdit plugin.

There's no obvious way for a LDDP plugin to trigger an LDView
refresh, that should be the responsibility of LDDP (just setting
the polling frequency in LDDP?).

Feel free to continue reporting bugs and suggesting changes!

my usual approce to work my way through the code is polling to
LDView with "Poll to selected line only" enabled and LDView's
feature "View -> Always on top" turned on, so I can run LDView in a
small window in order to have immediate visual feedback.

say I wanna make some changes to a couple of tripples. I fire up
SyncEdit and change the first tripple. hang on! does it look right?
instead of just coping the current content of SyncEdit (containing
my changes) back to LDDP I have to hit "OK" which will close the
prog :-( to do the rest I have to start up SyncEdit again: right
click, move to Plugins, move to SyncEdit ... select the line
... change the tripple. dude, I don't have the patience for all
those clicks ;-) couldn't you code in something like LDView's
"Always on top" and a copy button?

  [snipping other suggestions...]

last but not least. when I start up SyncEdit I cannot make any
modifications in LDDP. I wish I could just jump from the plugin to
the prog and back at my will, with every change copied automatically
to the prog or the plugin. basically it is an extention of the
request above.

Sounds like you want a wrapper plugin to start up the executable
version of syncedit and return control to LDDP right away.  I did
something like this years ago with the ldlist wrapper plugin.

http://ldglite.cvs.sourceforge.net/ldglite/ldglite/plugins/pluginldlist.c?revision=1.1&view=markup

Then you could theoretically work in both the LDDP and syncedit
windows with the ldview window displaying any updates, as long as you
can make syncedit and LDDP poll the file for changes like ldview.

This could be even better if LDDP and the syncedit executable both
supported the ldlist style drag and drop, but I don't know if that
ever got implemented in LDDP.

http://news.lugnet.com/cad/dev/?n=8982


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 20:18:12 GMT
Viewed: 
5623 times
  
Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:

Have you noted any obvious bugs or crashes?

nope 'til now.

Good.

say I wanna make some changes to a couple of tripples. I fire up
SyncEdit and change the first tripple. hang on! does it look right?
instead of just coping the current content of SyncEdit (containing my
changes) back to LDDP I have to hit "OK" which will close the prog
:-( to do the rest I have to start up SyncEdit again: right click,
move to Plugins, move to SyncEdit ... select the line ... change the
tripple.

last but not least. when I start up SyncEdit I cannot make any
modifications in LDDP. I wish I could just jump from the plugin to
the prog and back at my will, with every change copied automatically
to the prog or the plugin. basically it is an extention of the
request above.

That's a problem with (or rather limitation in) the LDDP plugin interface.
Plugins are expected to do *one* thing, and then return to LDDP. I don't
know anything about the LDDP source, who's maintaining it, etc.

couldn't you code in something like LDView's "Always on top" and a
copy button?

No. A plugin doesn't have access to any of the LDDP settings, doesn't know
the path to LDView, doesn't know the name of the (temporary?) file LDDP is
editing, and so on. I would have to duplicate all the code to find LDView,
start a separate copy of it on a temporary file etc. Too much work :-(

I'd also like to see a tolerance box. you enter 0.005 and SyncEdit
not only marks -3.085 0 6.234 in the first two lines but also the
-3.085 0 6.239 in the third (in a different color?)

Shouldn't be too difficult. No promises about when, though...

as you already have figured out I'm a lazy guy. selecting the line
and then hitting two times the "next" button just to hop to the last
tripple are two clicks too much. how about selecting the tripple
right away?

Shouldn't be too difficult. No promises about when, though...

please give me also the possibility to change all red into blue. you
know substituting the color code 4 with color 1, gold (383) instead
of main color (16).

That would be another plugin - ReplaceColors (it's not written yet), or
rather directly built into LDDP.

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sat, 15 Jul 2006 20:32:29 GMT
Viewed: 
5910 times
  
Don Heyse wrote:

Sounds like you want a wrapper plugin to start up the executable
version of syncedit and return control to LDDP right away.  I did
something like this years ago with the ldlist wrapper plugin.

http://ldglite.cvs.sourceforge.net/ldglite/ldglite/plugins/pluginldlist.c?revision=1.1&view=markup

Then you could theoretically work in both the LDDP and syncedit
windows with the ldview window displaying any updates, as long as you
can make syncedit and LDDP poll the file for changes like ldview.

Can a LDDP plugin get the name of the current file? AFAICS it's only given
the contents of the editor buffer (or just the selection). Without the file
name there's no way to do any polling, and when it's given the selection
only it's imperative that the file is not overwritten with only these lines!

This could be even better if LDDP and the syncedit executable both
supported the ldlist style drag and drop, but I don't know if that
ever got implemented in LDDP.


I don't think ldlist D&D is implemented in LDDP (pity!), and IIRC the ldlist
D&D is one part at a time only. If so it's not very easy to drag a whole
buffer from SyncEdit to LDDP using this protocol.

It almost seems like LDDP needs a new kind of 'plugin' ('plug-beside') that
can be live at the same time as LDDP, and gets automatic sync messages from
LDDP (and vice versa). The easiest way might be to let LDDP start an
external .exe with a (or maybe two, one for each direction)temporary file
and a window handle as the arguments, making it possible for LDDP to signal
the external program, and the external program to signal LDDP when the text
has been changed.

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Jul 2006 00:02:12 GMT
Viewed: 
6147 times
  
In lugnet.cad, Anders Isaksson wrote:

Can a LDDP plugin get the name of the current file? AFAICS it's only given
the contents of the editor buffer (or just the selection). Without the file
name there's no way to do any polling, and when it's given the selection
only it's imperative that the file is not overwritten with only these lines!

This could be even better if LDDP and the syncedit executable both
supported the ldlist style drag and drop, but I don't know if that
ever got implemented in LDDP.

I don't think ldlist D&D is implemented in LDDP (pity!), and IIRC the ldlist
D&D is one part at a time only. If so it's not very easy to drag a whole
buffer from SyncEdit to LDDP using this protocol.

It almost seems like LDDP needs a new kind of 'plugin' ('plug-beside') that
can be live at the same time as LDDP, and gets automatic sync messages from
LDDP (and vice versa). The easiest way might be to let LDDP start an
external .exe with a (or maybe two, one for each direction)temporary file
and a window handle as the arguments, making it possible for LDDP to signal
the external program, and the external program to signal LDDP when the text
has been changed.

I think LDDP does already have support for *one* configurable external
program.  Put a %0 in the args list to make LDDP pass the name of the
temp file to the external program.  I used to add a -p to the args list
to tell ldglite to poll the file for changes, but I don't remember if
LDDP also polls the file for changes.  Anyhow, you might be able to do
the same sort of thing with syncedit.exe.

It'd be nice if LDDP could support more than one external program, like
it does with plugins.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Jul 2006 07:22:26 GMT
Viewed: 
5847 times
  
In lugnet.cad, Anders Isaksson wrote:
Willy Tschager wrote:

say I wanna make some changes to a couple of tripples. I fire up
SyncEdit and change the first tripple. hang on! does it look right?
instead of just coping the current content of SyncEdit (containing my
changes) back to LDDP I have to hit "OK" which will close the prog
:-( to do the rest I have to start up SyncEdit again: right click,
move to Plugins, move to SyncEdit ... select the line ... change the
tripple.

last but not least. when I start up SyncEdit I cannot make any
modifications in LDDP. I wish I could just jump from the plugin to
the prog and back at my will, with every change copied automatically
to the prog or the plugin. basically it is an extention of the
request above.

That's a problem with (or rather limitation in) the LDDP plugin interface.
Plugins are expected to do *one* thing, and then return to LDDP. I don't
know anything about the LDDP source, who's maintaining it, etc.


check out:

http://sourceforge.net/projects/lddp/

orion has taken over the project from carsten schmitz, who still figures as one
of the admins, but it's mr. "redoctober" who works the queue of my wild dreams:

http://www.holly-wood.it/wishlist-lddp.html

(I think the list dates back to version 1.56 so you may see some of the requests
already as part of LDDP)


please give me also the possibility to change all red into blue. you
know substituting the color code 4 with color 1, gold (383) instead
of main color (16).

That would be another plugin - ReplaceColors (it's not written yet), or
rather directly built into LDDP.

you're right but the side effect would be that I finally get all the lines with
the same color highlighted. I usually mark the different portions of a part with
different colors and sometimes they are spread all over the code and it gets
hard to spot them without a highlight.

w.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Jul 2006 08:16:15 GMT
Viewed: 
5881 times
  
Willy Tschager wrote:

check out:
http://sourceforge.net/projects/lddp/

Yes, of course! I got the plugin spec from there. The problem for me is that
LDDP is written in Delphi 6 and I only have version 5 at home (D2006 at
work). Also, I'm not sure the sources are complete - if I try to open the
LDDP project in D5 I get *lots* of messages about things that are missing,
not only the obvious differences between D6 and D5 but also a lot of
unobvious things so I gave up trying to do anything with the LDDP source :-(

you're right but the side effect would be that I finally get all the
lines with the same color highlighted.

But you wouldn't have any use for the highlighting unless the plugin is also
changed into a full-blown editor :-(

This definitely should be implemented inside LDDP, not as a plugin (unless
LDDP gets a richer plugin interface which makes it possible to write 'live'
plugins, as we discussed in the other posts).

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Jul 2006 08:40:00 GMT
Viewed: 
6372 times
  
Don Heyse wrote:

It'd be nice if LDDP could support more than one external program,
like it does with plugins.

The version 1.5.7.0 of LDDP that I have installed supports any number of
external programs, although the interface for adding them is a bit
non-intuitive.

Unfortunately, looking at the sources, I find no place where LDDP re-reads
the text buffer after activating an external program (it can work in WAIT or
NOWAIT mode), it seems it's mainly intended for viewers. Of course, a
workaround is to let the external program put it's result to the clipboard,
and manually paste that into LDDP or fiddle with Windows messages to do the
pasting automatically, but it feels like an unsafe way to work. Maybe I
should experiment a bit with SyncEdit.exe?

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 16 Jul 2006 11:19:55 GMT
Viewed: 
7466 times
  
Anders Isaksson wrote:
Of course, a workaround is to let the external program put
it's result to the clipboard, and manually paste that into LDDP

OK, I modified the standalone version a bit. It is now suitable to be used
as a 'User-defined program' in LDDP (the 'Parameter' field in LDDP should be
set to '%0'). Note that such programs can *only* work with the full file,
not selections in LDDP. Remember that you have to paste the results yourself
into the right window in LDDP (CTRL-A, CTRL-V)

http://web.telia.com/~u16122953/synceditsa.zip

There is no automatic update of the SyncEdit window when you change anything
in the LDDP window, it *might* be possible to do even though there is no
setting for automatic saving of the buffer for user-defined programs, only
for LDView and L3Lab, but it looks like the file name used is the same.

or fiddle with Windows messages to do the pasting automatically, but it
feels like an unsafe way to work

This isn't really doable, as LDDP is a MDI program (can have many files open
at the same time) and there's no way for an external program to be sure that
the right file window is still open and has focus.

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Jul 2006 14:07:26 GMT
Viewed: 
6829 times
  
In lugnet.cad, Anders Isaksson wrote:
Anders Isaksson wrote:
Of course, a workaround is to let the external program put
it's result to the clipboard, and manually paste that into LDDP

OK, I modified the standalone version a bit. It is now suitable to be used
as a 'User-defined program' in LDDP (the 'Parameter' field in LDDP should be
set to '%0'). Note that such programs can *only* work with the full file,
not selections in LDDP. Remember that you have to paste the results yourself
into the right window in LDDP (CTRL-A, CTRL-V)

many thx,anders. I'll test it. question though: CRTL-A for copy? most progs use:
CTRL-C for "copy", CTRL-V for "paste", CTRL-X for "cut" while CTRL-A is used for
"select all". a typo?

bye, w.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Mon, 17 Jul 2006 17:50:10 GMT
Viewed: 
6925 times
  
Willy Tschager wrote:

many thx,anders. I'll test it. question though: CRTL-A for copy? most
progs use: CTRL-C for "copy", CTRL-V for "paste", CTRL-X for "cut"
while CTRL-A is used for "select all". a typo?

No, what I mean is:

'OK' or 'Send to Clipboard' in SyncEdit does an automatic 'copy', then in
LDDP you should do CTRL-A (Select all), CTRL-V (Paste) to replace the
contents of the edit buffer. Remember, a 'plug beside .exe' always gets the
full file, never just the lines that are selected in LDDP (while a plugin
will get the full file if nothing is selected, the selection otherwise).

--
Anders Isaksson, Sweden
BlockCAD:  http://web.telia.com/~u16122508/proglego.htm
Gallery:   http://web.telia.com/~u16122508/gallery/index.htm


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Tue, 18 Jul 2006 07:17:34 GMT
Viewed: 
6747 times
  
In lugnet.cad, Anders Isaksson wrote:
Anders Isaksson wrote:
Of course, a workaround is to let the external program put
it's result to the clipboard, and manually paste that into LDDP

OK, I modified the standalone version a bit. It is now suitable to be used
as a 'User-defined program' in LDDP (the 'Parameter' field in LDDP should be
set to '%0'). Note that such programs can *only* work with the full file,
not selections in LDDP. Remember that you have to paste the results yourself
into the right window in LDDP (CTRL-A, CTRL-V)

http://web.telia.com/~u16122953/synceditsa.zip

works! thank you. as this is the standalone version I'll repeat my request for a
"Always on top" feature. is this doable? I also glimps for a split second an
about dialog when I start-up the prog. how about moving the about dialog into an
about button. I just had the feeling I missed some key info. I was up to ask for
an "undo" when I found out that I just can undo the paste in LDDP and fire up
Syncedit agian ... well ... it wouldn't hurt ...

cheers, w.


Subject: 
Re: Call for GUI part editor
Newsgroups: 
lugnet.cad
Date: 
Sun, 23 Jul 2006 16:17:15 GMT
Viewed: 
5930 times
  
In lugnet.cad, Anders Isaksson wrote:
Willy Tschager wrote:
In lugnet.cad, Anders Isaksson wrote:

http://web.telia.com/~u16122953/synceditdll.zip   Plugin for LDDP

Thanks for your feedback! No, I haven't done anything more, but if you say
it works fine then I can bump the version number to 1.0 :-)

Have you noted any obvious bugs or crashes?

the tweaked stand-alone works fine. the plug-in substitutes the orignal content
with nothing/clipboard content when hitting the cancel button independently if
you selected something or copied the whole file to the plug-in.

w.


©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR