LDraw.org Discussion Forums
[LDPartEditor] 0.8.30 Beta Released (YTruder) - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: Parts Author Tools (https://forums.ldraw.org/forum-24.html)
+--- Thread: [LDPartEditor] 0.8.30 Beta Released (YTruder) (/thread-22133.html)



[LDPartEditor] 0.8.30 Beta Released (YTruder) - Nils Schmidt - 2017-04-02

Hi,

again, a new month starts with a new version (no April fool)!

[Image: imgDuke2.png]
As always, you can download LDPE from this page:
http://nilsschmidt1337.github.io/ldparteditor/

Changelog:
(4 new features and 6 bug fixes)

With this release you will be able to...
  • ...use a keyboard shortcut (F) to Flip/Rotate vertices.
  • ...use Ytruder.
  • ...see that the menu bar tools button became a normal sized "Tools..." button (was a tiny arrow).
  • ...see the triples of "protractor" and "distance" as well as the color digit colored.
The following critical issues were fixed:

  1. It was not possible to set the length of the protractor.
  2. "Flip/rotate vertices" transformed protractors into triangles and distance meters into lines.
  3. Wrong transparency calculation for transparent PNG textures (!TEXMAP)
  4. One search path was missing (!TEXMAP parser)
  5. Wrong "Circular reference" error on subfiles in combination with !TEXMAP
  6. All axes were enabled if you used the "Translate..." feature (X/Y/Z)
What will the next release 0.8.31 deliver? Bug fixes, more header validation features, usability improvements...



The program was tested intensively with "real world" files.
However, it is still a beta version and something can go wrong in about 100.000 lines of code.

Make sure that you choose the right architecture for your OS and Java Virtual Machine (JVM) (64bit or 32bit).
A short guide how to check if a 64bit JVM is installed on your system is located at the bottom of this message.

  1. Download the zip-Archive
  2. Extract the archive content to the location of your choice
  3. On windows, double-click "run.bat" to start LDPE.
  4. On linux, you have to excecute the shell script "run.sh" to start LDPE.
Please note that this software is in the beta stage. Although, LDPE 0.8.30 was tested, there are already known issues  for this release. There is a potential risk of data loss.

You can search for updates if you do the following steps:

  1. On windows, double-click "update.bat" to search for updates.
  2. On linux, you have to excecute the shell script "update.sh".
I listen carefully to your requests and possible complaints. Please leave me a message, with your thoughts and wishes to further improve the software.

LDPE is a 3D CAD application: The overall system requirements are higher. While I recommend to use a powerful 64-bit multicore system, it could be possible, to run LDPE on older machines as well.

System Requirements:


Minimum System Requirements:
  • 64-bit Java Runtime Environment (JRE) 1.8
  • OpenGL 2.1 compatible Graphics Card
  • Operating System (64-bit): Windows [7 or newer], Linux [e.g. Ubuntu Linux >=14.4]
  • CPU: Multicore-Processor e.g. Intel Core 2 Duo or AMD Athlon II (>2.0Ghz)
  • RAM: 4GB
  • Video-Memory: 1 GB
  • Free Disk Space: 100 MB
Recommended Requirements:
  • Operating System (64bit): Windows 7,8,10, Linux [e.g. Ubuntu Linux >=14.4]
  • OpenGL 3.3 compatible Graphics Card
  • CPU: Multicore-Processor with 4 cores (or more)
  • RAM: >4 GB
  • Video-Memory: >1 GB
  • Free Disk Space: 512 MB
  • For a faster start, LDPartEditor and the LDraw™ library should be installed on a SSD.
--------------------------------------------------------------------------------
How to check your JVM version (32- or 64-bit):
--------------------------------------------------------------------------------

You can try on the command line:

Code:
java -d64 version

If it's not a 64-bit version, you'll get a message that looks like:
This Java instance does not support a 64-bit JVM. Please install the desired version.


RE: [LDPartEditor] 0.8.30 Beta Released (YTruder / Usability / bugfix) - Philippe Hurbain - 2017-04-03

Thanks, will test when I'm back home Smile


Minor bug: SyncEdit does not enframe !LPE VERTEX anymore. - Nils Schmidt - 2017-04-04

With the release of 0.8.30, a little bug was introduced. SyncEdit does not enframe the coordinates of the !LPE VERTEX meta command anymore.
I'll fix this cosmetic issue with release 0.8.31.


[0.8.31] Features for !LPE VERTEX - Nils Schmidt - 2017-04-04

(2017-03-28, 7:36)Philippe Hurbain Wrote:
(2017-03-27, 18:30)Nils Schmidt Wrote: Should I change the behaviour of the deletion (if "Move Adjacent Data" is not activated)?

I think that once it is possible to check selection between text editor and 3Dview, it should be possible to delete a !LPE vertex without "Move Adjacent Data" being on.

Wishes of the day...
- as a user I'd like to be able to "show selection in 3D view" of a !LPE VERTEX line in text editor
- as a user I'd like to be able to "show selection in text editor" of a selected !LPE vertex in 3D view
- as a user I'd like to be able to delete a selected !LPE vertex in 3D view


I implemented all these features now (#522, #526, #527).


RE: [LDPartEditor] 0.8.30 Beta Released (YTruder / Usability / bugfix) - Magnus Forsberg - 2017-04-06

As a user I want an easy way to add:  0 BFC INVERTNEXT.
I want to right-click on a primitive in the 3D-viewer and choose: Invert this primitive.
Or, I want to select a line in the text editor and choose: Invert this primitive.

As a user I want an easy way to add a new history statement:    0 !HISTORY ("today date") ["username"]   in the header.


RE: [LDPartEditor] 0.8.30 Beta Released (YTruder / Usability / bugfix) - Philippe Hurbain - 2017-04-06

(2017-04-06, 16:20)Magnus Forsberg Wrote: As a user I want an easy way to add:  0 BFC INVERTNEXT.
I want to right-click on a primitive in the 3D-viewer and choose: Invert this primitive.
Or, I want to select a line in the text editor and choose: Invert this primitive.
Maybe I don't understand what you need, but selecting a primitive or a line in text editor and hit the "swap BFC winding" button in either editor does just that.
Quote:As a user I want an easy way to add a new history statement:    0 !HISTORY ("today date") ["username"]   in the header.
+1
...and keywords too !


RE: [LDPartEditor] 0.8.30 Beta Released (YTruder / Usability / bugfix) - Philippe Hurbain - 2017-04-06

Quote:...use Ytruder.
Tested a bit...
- I don't think that deleting the lines that were extruded is a good idea, generally the extruded surface has an edge...
- It seems impossible to use symmetry or projection with value=0 while both are meaningful (opposite to translation!)
- Not utterly annoying, but I don't understand why triangles are sometimes generated for translation mode. This should only produce quads?


RE: [LDPartEditor] 0.8.30 Beta Released (YTruder / Usability / bugfix) - Magnus Forsberg - 2017-04-06

(2017-04-06, 16:33)Philippe Hurbain Wrote: hit the "swap BFC winding" button

Yes, that's exactly what I wanted.  Why didn't I think of trying that button...


[0.8.31] Shortkey for !HISTORY - Nils Schmidt - 2017-04-07

(2017-04-06, 16:20)Magnus Forsberg Wrote: As a user I want an easy way to add a new history statement:    0 !HISTORY ("today date") ["username"]   in the header.

I implemented this feature a few moments ago (#528).


[0.8.31] Shortkey for !KEYWORDS - Nils Schmidt - 2017-04-07

(2017-04-06, 16:33)Philippe Hurbain Wrote:
Quote:As a user I want an easy way to add a new history statement:    0 !HISTORY ("today date") ["username"]   in the header.
+1
...and keywords too !

I finished the implementation of this feature a few moments ago (#529).


Implementation challenge with stacked hide/unhide - Nils Schmidt - 2017-04-08

(2017-03-09, 9:20)Philippe Hurbain Wrote: Wish of the day: a function to unhide the elements hidden by the last hide, leaving previous hiding active. Ideally, hiding should work like a multi level stacked hide/unhide, but having a "unhide last hidden" would already be great!

Unfortunately, it is not trivial to restore just the hide/show state (you can hide subfile content, too). It's hard to synchronize this state with all changes (e.g. changing line numbers, colours, coordinates, matrices). It looks so easy if you do a selection, click hide and the selection stays hidden. Even if you do a modification in the 3D editor.

To my regret, it is really complex to implement a multi level "hide/show" stack. Chances are high, that I will never going to implement this.


Ytruder issues - Nils Schmidt - 2017-04-08

(2017-04-06, 17:02)Philippe Hurbain Wrote: - I don't think that deleting the lines that were extruded is a good idea, generally the extruded surface has an edge...
- It seems impossible to use symmetry or projection with value=0 while both are meaningful (opposite to translation!)

I fixed these issues (#531 and #532).


(2017-04-06, 17:02)Philippe Hurbain Wrote: - Not utterly annoying, but I don't understand why triangles are sometimes generated for translation mode. This should only produce quads?

I don't understand it either. The criteria to split a quad into two triangles is this:

Code:
Tri_Angle(Surf[k][0], Surf[k][1], Surf[k][2], Surf[k][0], Surf[k][2], Surf[k][3]) > 0.5

The "Tri_Angle" function seems to be correct:
Code:
    // Tri_Angle computes the cosine of the angle between the planes of two triangles.
    // They are assumed to be non-degenerated
    private double Tri_Angle(double[] U0, double[] U1, double[] U2, double[] V0, double[] V1, double[] V2)
    {
        double[] Unorm = new double[3], Vnorm = new double[3];
        double[] Temp = new double[3];
        double[] U10 = new double[3], U20 = new double[3];
        double[] V10 = new double[3], V20 = new double[3];
        double len;
        SUB(U10, U1, U0);
        SUB(U20, U2, U0);
        SUB(V10, V1, V0);
        SUB(V20, V2, V0);
        CROSS(Temp, U10, U20);
        len = DIST(Temp, nullv);
        MULT(Unorm, Temp, 1/len);
        CROSS(Temp, V10, V20);
        len = DIST(Temp, nullv);
        MULT(Vnorm, Temp, 1/len);
        return (180 / 3.14159 * Math.acos(DOT(Unorm, Vnorm)));
    }



RE: Ytruder issues - Philippe Hurbain - 2017-11-27

(2017-04-08, 10:11)Nils Schmidt Wrote: Philippe Hurbain- Not utterly annoying, but I don't understand why triangles are sometimes generated for translation mode. This should only produce quads?

I don't understand it either. The criteria to split a quad into two triangles is this:

This issue is still there. Since ytruder makes a parallel extrusion, it should never produce triangles except if a generation line vertex happen to be in mirroring/projection plane