LDraw.org Discussion Forums

Full Version: [LDPartEditor] 0.8.38b Beta Released (Bug-Fix)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

just a little bug-fix for Willy's 3D rotation problems under Linux Mint and the wireframe render mode issues with CSG optimisations.


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

Changelog:
(2 bug fixes)

With this release the following critical issues were fixed:
  1. The CSG mesh optimisation was deactivated when one of the 3D view had the wireframe render mode enabled.
  2. Under linux mint it was not possible to rotate/translate the 3D view with the keyboard key (default keys: "M"/"L").
What will the next release 0.8.39 deliver? You will get more text-editor features and it will fix edge selection issues.



The program was tested intensively with "real world" files.
However, it is still a beta version and something can go wrong in about 120.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/mac, you have to excecute the shell script "run.sh" to start LDPE.
Please note that this software is in the beta stage. Although, this version 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/mac, 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], Mac OS X [>=10.6]
  • 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], Mac OS X [>=10.6]
  • 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 an 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.
I tried (better late than never!) to use the part review mode of LDPE. After doing so, I had to change back a lot of my settings (render mode, view actions, number of views). Could it be possible to save these settings when entering part review mode and restore them when exiting part review? Alternatively (since, as it is implemented, there is not really a part review mode to exit), I 'd like to be able to save all my user settings in a file, and restore it when I want to.

Maybe also it would be interesting to use part review mode locally (from a file on HD), before sending it on parts tracker?
(2017-12-01, 13:06)Philippe Hurbain Wrote: [ -> ]I tried (better late than never!) to use the part review mode of LDPE. After doing so, I had to change back a lot of my settings (render mode, view actions, number of views). Could it be possible to save these settings when entering part review mode and restore them when exiting part review? Alternatively (since, as it is implemented, there is not really a part review mode to exit), I 'd like to be able to save all my user settings in a file, and restore it when I want to.

Maybe also it would be interesting to use part review mode locally (from a file on HD), before sending it on parts tracker?

I created issues for your ideas (#645 and #644).
There is a high chance that you'll get these features in the next year :)
(2017-12-01, 12:53)Nils Schmidt Wrote: [ -> ]Hi,

just a little bug-fix for Willy's 3D rotation problems under Linux Mint
Works! Thank you.
w.
Trying to fix a vertex mismatch I discovered a problem with unificator, that deletes some surfaces from the unified mesh (and in an assymetrical way, makes me think of a subtle calculation bug...)
Attached the original file, result with command line unificator (default unification distance + snap on vertices, threshold 0.2), result with LDPE unificator using the same values.
Bug of the day:

1.) Reports the following errors:

* The part type information is missing
* The licences information is misplaced

on this header:


Code:
0 ~Animal Clam Bottom
0 Name: 30218k01.dat
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Flexible_Section
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt


2. Save as... removes "Unofficial" from the 0 !LDRAW_ORG Unofficial_Flexible_Section line and saves it as: 0 !LDRAW_ORG Flexible_Section

w.
(2017-12-04, 11:57)Willy Tschager Wrote: [ -> ]Bug of the day:

1.) Reports the following errors:

* The part type information is missing
* The licences information is misplaced

on this header:


Code:
0 ~Animal Clam Bottom
0 Name: 30218k01.dat
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Flexible_Section
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt


2. Save as... removes "Unofficial" from the 0 !LDRAW_ORG Unofficial_Flexible_Section line and saves it as: 0 !LDRAW_ORG Flexible_Section

w.

Thanks for your bug report! I created an issue for the "Save As..." problem (#647).

Regarding the header hints: They are correct...

This part type is unknown:

Code:
0 !LDRAW_ORG Unofficial_Flexible_Section



It should be

Code:
0 !LDRAW_ORG Unofficial_Part Flexible_Section

This change will also resolve the misplaced license problem.
(2017-12-05, 11:32)Nils Schmidt Wrote: [ -> ]Regarding the header hints: They are correct...

This part type is unknown:

Code:
0 !LDRAW_ORG Unofficial_Flexible_Section



It should be

Code:
0 !LDRAW_ORG Unofficial_Part Flexible_Section

This change will also resolve the misplaced license problem.
My bad. I overlooked "optional". An example should be added to:

http://www.ldraw.org/article/398.html#AppendixV

w.
(2017-12-04, 9:01)Philippe Hurbain Wrote: [ -> ]Trying to fix a vertex mismatch I discovered a problem with unificator, that deletes some surfaces from the unified mesh (and in an assymetrical way, makes me think of a subtle calculation bug...)
Attached the original file, result with command line unificator (default unification distance + snap on vertices, threshold 0.2), result with LDPE unificator using the same values.

Thanks! I will take a look.

edit: I created an issue for this problem (#650).
"Move selected subfile to manipulator" is a great tool to position a primitive in a known position/orientation (for example the knobs at the back of cap http://www.ldraw.org/cgi-bin/ptdetail.cg.../63351.dat). But could it be possible to keep primitive scaling when doing so? Currently it is reset to scale 1.

Losely related: on the contrary I sometimes wished to be able to unscale something without losing current origin/orientation.
(2017-12-07, 9:29)Philippe Hurbain Wrote: [ -> ]"Move selected subfile to manipulator" is a great tool to position a primitive in a known position/orientation (for example the knobs at the back of cap http://www.ldraw.org/cgi-bin/ptdetail.cg.../63351.dat). But could it be possible to keep primitive scaling when doing so? Currently it is reset to scale 1.

Losely related: on the contrary I sometimes wished to be able to unscale something without losing current origin/orientation.

I created issues for your wishes (#648) and (#649) in the second release for the next year.
Shear matrices are a little bit tricky :)
(2017-12-07, 19:20)Nils Schmidt Wrote: [ -> ]Shear matrices are a little bit tricky Smile
Yeah, I guess that... Reminds me of something I never reported: if you "move manipulator to origin of selected subfile" and that this subfile is slanted, the manipulator is distorted.
I tried running this and complains that "This program cannot be used, because the graphic card does not support OpenGL Version 2.1.". I have a Nvidia GeForce GTX 1060 (6GB) which clearly should support OpenGL 2.1. If I try to run it again, it crashes. This is on Ubuntu MATE 17.10.

OpenJDK version:
Code:
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
(2017-12-07, 22:38)Santeri Piippo Wrote: [ -> ]I tried running this and complains that "This program cannot be used, because the graphic card does not support OpenGL Version 2.1.". I have a Nvidia GeForce GTX 1060 (6GB) which clearly should support OpenGL 2.1. If I try to run it again, it crashes. This is on Ubuntu MATE 17.10.

OpenJDK version:
Code:
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Is the NVIDIA driver installed? Sometimes there are problems with the open source drivers (especially for the GTX-10-series).
For my GTX 1080's I am forced to use the proprietary linux drivers.
I started the implementation and updated the description for the SlantingMatrixCalculator (AKA slanting tool) in issue #614.

For the basic workflow you have to create two (or three) adjacent lines (TYPE 2), select them and then select the subfile(s). Finally, you have to open the SlantingMatrixCalculator tool to verify and apply the calculated matrix to the subfiles(s).

Four steps:
  1. Line creation (with colour 4, 2 and 1; red/green/blue; X/Y/Z)
  2. Line selection
  3. Subfile selection (inluding or excluding lines; doesn't matter)
  4. Open the SlantingMatrixCalculator tool to verify and apply the matrix to the subfiles(s).

PS: You can also decide if the origin should be set to the center of the X- and the Y-axis (useful for rect-primitives).
This will of course halve the magnitude of X and Y!
And it is not required to define the Z axis with the 3rd line. The Z axis can be calculated from X and Y (by cross-product). In that case I would normalise the magnitude of the Z axis to one.

Any thoughts on this?
I must say it is VERY difficult to see if this is usable before actually trying it. Seems a bit complicated at first, but if it avoids any calculation...

One thing worries me nonetheless: I'd like this tool to work on any selection, not just on subfile/primitives!

For the record, here is how I do slanting in MLCad:
- Make a selection of any elements (lines, surfaces, subfiles). [note: the first element of this selection defines the origin of the transformation. This is of course meaningless in LDPE thanks to the manipulator]
- Click on "position/orientation", check "use matrix value". You are then able to edit the transformation matrix, starting from identity one "1 0 0 0 1 0 0 0 1". I then replace one (or more) of the 0 coefficient with the slanting one. Eg. if I want y to increase when x increases, I enter a value (dy/dx) in the underscored 0.
If there is a slight vertex mismatch in the mesh, LDPE Edger2 creates (utterly) wrong condlines.
See attached example
- 3626bsurface.dat is a minifig face, obtained by inlining of cylinder and tori, and removing all existing condlines. It does contain slight mismatches (d=0.0004).
- 3626bsurface-cl.dat is the buggy result of Edger2 on that mesh.
- 3626bsurface-cl-u.dat is the correct result, obtained by first unifying mesh, then running Edger2
(2017-12-13, 12:53)Philippe Hurbain Wrote: [ -> ]One thing worries me nonetheless: I'd like this tool to work on any selection, not just on subfile/primitives!
I changed the description in issue #614 according your suggestion.
Luckily, the effort which is needed for implementation won't change.
I just have to apply the transformation to the whole selection, instead of a subfile selection.
Thanks for the bug report. I created an issue (#651).
While waiting for this feature in LdrawPatternCreator, I had the idea to try LDPE Line2Pattern tool for more or less the same function: use edger2 to create unmatched edge on the partially created pattern to delimit the area to fill, change generated line to color 24, add a line of the right color in the middle then call Line2Pattern. Unfortunately it doesn't work very well on the first try I made, that happened to be a relatively complex and concave area. Actually the convex envelope was triangulated, and not all generated surface had the middle line color...
Attached the initial line configuration and buggy result.

As a side note: I don't think this method is very usable anyway since the preparation overhead is quite high...
(2017-12-17, 19:31)Philippe Hurbain Wrote: [ -> ]While waiting for this feature in LdrawPatternCreator, I had the idea to try LDPE Line2Pattern tool for more or less the same function: use edger2 to create unmatched edge on the partially created pattern to delimit the area to fill, change generated line to color 24, add a line of the right color in the middle then call Line2Pattern. Unfortunately it doesn't work very well on the first try I made, that happened to be a relatively complex and concave area. Actually the convex envelope was triangulated, and not all generated surface had the middle line color...
Attached the initial line configuration and buggy result.

As a side note: I don't think this method is very usable anyway since the preparation overhead is quite high...

There is a workaround: you can create more green middle lines (see attachement).

I created an issue (#652) which includes "fill" and some triangle optimisations.

I will port this feature to LDPatternCreator when the implementation of Lines2Pattern is reaching a decent state in LDPE.
Bug report:
I can't pick all colours in the More colours palette.

In the 3D editor:
The window is not wide enough. I cant pick the last colours in each row.
The table seams to have 17 boxes with colours , but only 14 is visible.

In the Text editor:
The More colour pallete-button is not working.

Wish:
As a user I want to use the scroll-wheel on mouse-over in the alphabetical list under Show Colour Table.
btw: What is the search function under that list supposed to do?
(2017-12-20, 19:14)Magnus Forsberg Wrote: [ -> ]Bug report:
I can't pick all colours in the More colours palette.

In the 3D editor:
The window is not wide enough. I cant pick the last colours in each row.
The table seams to have 17 boxes with colours , but only 14 is visible.

In the Text editor:
The More colour pallete-button is not working.

Wish:
As a user I want to use the scroll-wheel on mouse-over in the alphabetical list under Show Colour Table.
btw: What is the search function under that list supposed to do?
Seems to be machine dependant, everything is working here (including mouse wheel in alphabetic list). Yes, I see 17 columns. Search field is mysterious for me too...
Hi Magnus,

can you share screenshots for this issue?
It seems that the width calculation is not correct... but I can't reproduce this at the moment.
(2017-12-20, 20:59)Nils Schmidt Wrote: [ -> ]can you share screenshots for this issue?

[attachment=2984]

The scroll on mouse over, in the list view, only works when the pointer is over the slider. Not when it is over the list.
I created two issues regarding the colour palette. They will be fixed in release 0.8.40. It is (#653) and (#654).
(2017-12-08, 19:19)Nils Schmidt Wrote: [ -> ]
(2017-12-07, 22:38)Santeri Piippo Wrote: [ -> ]I tried running this and complains that "This program cannot be used, because the graphic card does not support OpenGL Version 2.1.". I have a Nvidia GeForce GTX 1060 (6GB) which clearly should support OpenGL 2.1. If I try to run it again, it crashes. This is on Ubuntu MATE 17.10.

OpenJDK version:
Code:
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Is the NVIDIA driver installed? Sometimes there are problems with the open source drivers (especially for the GTX-10-series).
For my GTX 1080's I am forced to use the proprietary linux drivers.

Yeah, the NVIDIA drivers are installed.
(2018-01-03, 20:05)Santeri Piippo Wrote: [ -> ]"This program cannot be used, because the graphic card does not support OpenGL Version 2.1."
[...]
Yeah, the NVIDIA drivers are installed.

I will upload a new version tomorrow which will skip the OpenGL version number check.
I suspect that LDPE can't read the correct version number on your system...