LDraw.org Discussion Forums
[LDPartEditor] 0.8.18 Beta Released - 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.18 Beta Released (/thread-21652.html)



[LDPartEditor] 0.8.18 Beta Released - Nils Schmidt - 2016-07-12

Hi :)

next small increase to version 0.8.18... well, this time its clear what 0.8.19 will bring ;)

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

Changelog:
(4 new features and 3 bug fixes)

With this release you will be able to...
  • ...trigger "Show selection in Text Editor" from a button on the GUI of the 3D editor.
  • ...benefit from the fact that selecting "Show Selection In Text Editor" jumps to the next selected line.
  • ...benefit from the fact that a change to the colour palette is updated instantly on all editor windows.
  • ...customize the colours of the selection cross (3D editor)

The following critical issues were fixed:


  1. Wrong BFC rendering for primitives (in the primitve area)
  2. TJunctionFinder eliminates lines at random (normal mode)
  3. The "(!)" sign is set for (part) files which are created by the PartReview tool. This is not desired. (the "(!)" sign indicates that the file is located outside the project or the library structure of the project)

What will the next release 0.8.19 deliver? Bug fixes (selection, icons, text editor selection highlight) , usability  improvements (tabs on the 3D editor), maybe some new fancy features...



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/mac, 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.18 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:
  • Java Runtime Environment (JRE) 1.8
  • OpenGL 2.1 compatible Graphics Card
  • Operating System (32/64bit): Windows [XP; Vista; 7 or newer], Mac OS X [>=10.6], Linux [e.g. Ubuntu Linux >=10.4]
  • CPU: Multicore-Processor e.g. Intel Core 2 Duo or AMD Athlon II (>2.0Ghz)
  • RAM: 4GB
  • Video-Memory: 512 MB
  • Free Disk Space: 100 MB
Recommended Requirements:
  • Operating System (64bit): Windows 7, Mac OS X [>=10.6], Linux [e.g. Ubuntu Linux >=10.4]
  • CPU: Multicore-Processor with 4 cores (or more)
  • RAM: >4 GB
  • Video-Memory: >=1 GB
  • Free Disk Space: 512 MB
--------------------------------------------------------------------------------
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:

Code:
This Java instance does not support a 64-bit JVM. Please install the desired version.

In general, I recommend to install the 64-bit version of the JVM for Java 8.


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Philippe Hurbain - 2016-07-13

Quote:As always, you can download LDPE from this page:
http://nilsschmidt1337.github.io/ldparteditor/
I was able to download and install it fine from github, but it seems that the updater still fetches version 0.8.17.


Updater works now. - Nils Schmidt - 2016-07-13

(2016-07-13, 7:05)Philippe Hurbain Wrote: I was able to download and install it fine from github, but it seems that the updater still fetches version 0.8.17.

The updater works fine now. The process took a little bit more time Smile


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Willy Tschager - 2016-07-15

Bug of the day:

* LDPE now launches without opening the text editor. Opening a part you either get a text editor and 3d without any content or the part gets opened in 3d but no text editor gets launched and you have to "Open in Text Editor" in the parts tree
* I'm moving the first steps into CSG. Rotating a part at 90 degree you get undesired digits. Check:

0 !LPE CSG_ELLIPSOID a  1 0 0 0 1 0 0 0 1 0 0 0 1
0 !LPE CSG_ELLIPSOID a 1  0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 -1.0 0.0

w.

PS. I'll come back for more CSG questions so bare with me. 'Til then I would appreciate if you could add pics for 0 !LPE CSG_QUALITY [3 to 48] to your wiki.


Guidelines for good bug reports / feature requests - Nils Schmidt - 2016-07-15

Hi,

I just want to give you some advice for good feature requests / bug reports (again):

  1. Describe precisely what you observe. Take a screenshot or record a movie if needed.
  2. Say clearly what you want. Make a sketch or a mockup.
  3. Be precise as possible. Everybody should be able to understand what you want to say.
  4. If you say some application behaviour is wrong, my interest is to know what is right instead.
  5. Do not make use of ambiguousness and colloquialism.
Some very good approaches for agile projects like LDPE are User Stories.
One sentence, starting with "As a user I want..." is what I like and how I describe most of the ideas I got.

E.g.
As a user I want to customize the colours of the selection cross (3D editor)

I need clean feedback to estimate the effort it takes to fix a bug / to implement a feature.
Otherwise, I can't fix it (even if I wanted to).

Leg godt

Nils


Bugs / Tabs in the 3D Editor - Nils Schmidt - 2016-07-18

I make some progress with the implementation of tabs for the 3D editor.
The 'Sync' button will get an icon. It activates/deactivates the synchronisation between the selection of tabs in the 3D editor and text editor.
  • Selecting a tab in the text editor will select the tab in the 3D editor (and display the part in the 3D editor)
  • Selecting a tab in the 3D editor will select the tab in the text editor (and display the part in the text and the 3D editor)


[Image: Tabs3DEditor.PNG]



(2016-07-15, 10:40)Willy Tschager Wrote: * LDPE now launches without opening the text editor. Opening a part you either get a text editor and 3d without any content or the part gets opened in 3d but no text editor gets launched and you have to "Open in Text Editor" in the parts tree

This is a desired behaviour. Some users complained about the text editor window (they had to close it every time).
Maybe I can add some option to enable/disable the text editor on start?

(2016-07-15, 10:40)Willy Tschager Wrote: * I'm moving the first steps into CSG. Rotating a part at 90 degree you get undesired digits. Check:

0 !LPE CSG_ELLIPSOID a  1 0 0 0 1 0 0 0 1 0 0 0 1
0 !LPE CSG_ELLIPSOID a 1  0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 -1.0 0.0

Thanks! :)
I fixed it.
The issue will be gone with release 0.8.19.


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Willy Tschager - 2016-07-19

(2016-07-15, 10:40)Willy Tschager Wrote: Bug of the day:

* LDPE now launches without opening the text editor. Opening a part you either get a text editor and 3d without any content or the part gets opened in 3d but no text editor gets launched and you have to "Open in Text Editor" in the parts tree

Here is screenshot:

   

as you can see 30082out.dat is loaded but neiter Text nor 3D show any content. Try this file:


.dat   30082out.dat (Size: 37.22 KB / Downloads: 2)

w.


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Willy Tschager - 2016-07-19

Feature request of the day:

* As a user I'd like to have a wrapper window, which would full-screen either the Text or the 3D pane with a click in the right top-hand corner or split the two panes with a divider I can move with the mouse:

   

this would IMHO make the handling of the two editors much easier and the continuous taskbar-clicking superfluous.

w.


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Willy Tschager - 2016-07-19

(2016-07-15, 10:40)Willy Tschager Wrote: PS. I'll come back for more CSG questions so bare with me.

I'm fixing:

30082.dat

I tried to use CSG to rebuild to cut sphere. Here is what I came up with, based on your tutorial on the wiki:


Code:
0 BFC CERTIFY CCW

0 // Set the quality and epsilon value (optional)
0 // SYNTAX 0 !LPE CSG_QUALITY [3 to 48]
0 !LPE CSG_QUALITY 16
0 // SYNTAX 0 !LPE CSG_EPSILON [>=.0001]
0 !LPE CSG_EPSILON .0001

0 // Define the shapes
0 // SYNTAX 0 !LPE [CSG SHAPE] [ID (can be any string without spaces)] [COLOUR] [MATRIX]
0 !LPE CSG_ELLIPSOID a 1  0 0 10 7 0 0 0 0 7 0 -7 0
0 !LPE CSG_CUBOID    b 4  0 0 0 10 0 0 0 10 0 0 0 10

0 !LPE CSG_CYLINDER z 14 0 -7 13.5 2.5 0 0 0 14 0 0 0 2.5
0 !LPE CSG_CUBOID y 4  0 -4.5 16.5 2.5 0 0 0 2.5 0 0 0 3
0 !LPE CSG_CUBOID x 4  0 4.5 16.5 2.5 0 0 0 2.5 0 0 0 3

0 // Modify the shapes
0 // SYNTAX 0 !LPE [CSG FUNCTION] [origin ID] [origin ID2] [target ID3]
0 !LPE CSG_DIFFERENCE a b f
0 !LPE CSG_UNION x y w
0 !LPE CSG_UNION w z v
0 !LPE CSG_DIFFERENCE f v u

0 // Compile the output
0 // SYNTAX 0 !LPE CSG_COMPILE [ID]
0 // The COMPILE command displays the CSG volume on the screen
0 // Inlining the following line will generate triangles of the CSG volume
0 !LPE CSG_COMPILE u


I also inlined the compiled U but was not very happy with the output, so I guess there is room for improvement of my code. Any help and suggestion is welcomed.

w.

PS. It would help if you could offer a raw code like 0 !LPE CSG_CUBOID    x c  0 0 0 1 0 0 0 1 0 0 0 1 from a drop-down box in the toolbars for the primitives and the operators so I don't have to check back with the wiki.


LDPE does not load a file... - Nils Schmidt - 2016-07-20

(2016-07-19, 8:20)Willy Tschager Wrote:
(2016-07-15, 10:40)Willy Tschager Wrote: * LDPE now launches without opening the text editor. Opening a part you either get a text editor and 3d without any content or the part gets opened in 3d but no text editor gets launched and you have to "Open in Text Editor" in the parts tree

Here is screenshot ...
as you can see 30082out.dat is loaded but neiter Text nor 3D show any content. Try this file:

w.

I identified the root cause! Currently, LDPE is not able to reload a file which has unsaved changes.
What you really want: A question dialog with the possibility to revert all changes or to continue your work on the modified file.

I created a ticket. The feature will be inlcuded in version 0.8.19 Smile


Wrapper window - Nils Schmidt - 2016-07-20

(2016-07-19, 8:46)Willy Tschager Wrote: Feature request of the day:

* As a user I'd like to have a wrapper window, which would full-screen either the Text or the 3D pane with a click in the right top-hand corner or split the two panes with a divider I can move with the mouse:



this would IMHO make the handling of the two editors much easier and the continuous taskbar-clicking superfluous.

w.

I created a ticket.

However, your request is really hard to implement. SWT does not support MDI and there exists a ton of business logic for the two editor windows due to the fact that the 3D and the text editor are simply seperate windows.

They are synchronised (which was very complicated to implement!) and access each other in different ways.
It is also possible to use more than one text editor and to drag and drop the tabs to another text editor instance.
I highly doubt that I am able to refactor the whole application for just a two or ten less clicks on the taskbar.

To seperate the text from the 3D editor was the first design choice for LDPE I made about five years ago...
Nevertheless... I will find a way.


Tab feature is complete... - Nils Schmidt - 2016-07-20

You can now (with the upcoming milestone 0.8.19)
use tabs to select, open and close a recently used file from the current session.
The two yellow arrows enable the synchronisation between the tab selection in the 3D and text editor.
If you select a tab in the 3D editor, it gets selected in the text editor and vice versa.

[Image: Tabs3DEditor2.PNG]


RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Philippe Hurbain - 2016-07-21

Apart for leaning purpose I really don't think it's a good idea to really cut the sphere. Interpenetrating cyli/sphe primitives will give a much better visual result and simpler code. There is an existing cyli to sphe primitive too (not on my computer, can't find it)


CSG Help (Off-Topic) - Nils Schmidt - 2016-07-21

(2016-07-19, 9:32)Willy Tschager Wrote: I'm fixing:

30082.dat

I tried to use CSG to rebuild to cut sphere. Here is what I came up with, based on your tutorial on the wiki:


Code:
0 BFC CERTIFY CCW

0 // Set the quality and epsilon value (optional)
0 // SYNTAX 0 !LPE CSG_QUALITY [3 to 48]
0 !LPE CSG_QUALITY 16
0 // SYNTAX 0 !LPE CSG_EPSILON [>=.0001]
0 !LPE CSG_EPSILON .0001

0 // Define the shapes
0 // SYNTAX 0 !LPE [CSG SHAPE] [ID (can be any string without spaces)] [COLOUR] [MATRIX]
0 !LPE CSG_ELLIPSOID a 1  0 0 10 7 0 0 0 0 7 0 -7 0
0 !LPE CSG_CUBOID    b 4  0 0 0 10 0 0 0 10 0 0 0 10

0 !LPE CSG_CYLINDER z 14 0 -7 13.5 2.5 0 0 0 14 0 0 0 2.5
0 !LPE CSG_CUBOID y 4  0 -4.5 16.5 2.5 0 0 0 2.5 0 0 0 3
0 !LPE CSG_CUBOID x 4  0 4.5 16.5 2.5 0 0 0 2.5 0 0 0 3

0 // Modify the shapes
0 // SYNTAX 0 !LPE [CSG FUNCTION] [origin ID] [origin ID2] [target ID3]
0 !LPE CSG_DIFFERENCE a b f
0 !LPE CSG_UNION x y w
0 !LPE CSG_UNION w z v
0 !LPE CSG_DIFFERENCE f v u

0 // Compile the output
0 // SYNTAX 0 !LPE CSG_COMPILE [ID]
0 // The COMPILE command displays the CSG volume on the screen
0 // Inlining the following line will generate triangles of the CSG volume
0 !LPE CSG_COMPILE u


I also inlined the compiled U but was not very happy with the output, so I guess there is room for improvement of my code. Any help and suggestion is welcomed.


Well, the CSG code is fine... To clean the output, I normally exploit part symmetries to save some work and finally use the MeshReduce tool and do some manual tweaking.
It is extremly difficult to "automagically" optimise these CSG meshes very fast (without destroying them).
I appreciate any technical advice how I can improve the output quality.
Maybe someone nows a better CSG algorithm?

Here are my authoring results (no primitive substitution):

Code:
0 BFC CERTIFY CCW

4 1 4.57297 1.89419 14.94975 5.97487 2.47487 12.67878 4.57297 4.57297 12.67878 3.5 3.5 14.94975
4 1 4.94975 0 14.94975 6.46716 0 12.67878 5.97487 2.47487 12.67878 4.57297 1.89419 14.94975
4 1 6.46716 0 12.67878 4.94975 0 14.94975 4.57297 -1.89419 14.94975 5.97487 -2.47487 12.67878
4 1 3.5 -3.5 14.94975 4.57297 -4.57297 12.67878 5.97487 -2.47487 12.67878 4.57297 -1.89419 14.94975
4 1 4.94975 4.94975 10 4.57297 4.57297 12.67878 5.97487 2.47487 12.67878 6.46716 2.67878 10
4 1 6.46716 0 12.67878 7 0 10 6.46716 2.67878 10 5.97487 2.47487 12.67878
4 1 7 0 10 6.46716 0 12.67878 5.97487 -2.47487 12.67878 6.46716 -2.67878 10
4 1 4.57297 -4.57297 12.67878 4.94975 -4.94975 10 6.46716 -2.67878 10 5.97487 -2.47487 12.67878
4 4 4.94975 -4.94975 10 2.67878 -6.46716 10 0 -7 10 6.46716 -2.67878 10
4 4 0 -7 10 0 7 10 2.67878 6.46716 10 6.46716 -2.67878 10
3 4 6.46716 -2.67878 10 6.46716 2.67878 10 7 0 10
4 4 6.46716 2.67878 10 6.46716 -2.67878 10 2.67878 6.46716 10 4.94975 4.94975 10
4 1 2.67878 0 16.46716 4.94975 0 14.94975 4.57297 1.89419 14.94975 2.5 1.03553 16.44898
3 1 2.5 1.03553 16.44898 0 0 17 2.67878 0 16.46716
4 1 2.5 1.03553 16.44898 4.57297 1.89419 14.94975 3.5 3.5 14.94975 2.5 2 16.08394
4 1 2.5 2 16.08394 2 2 16.36717 1.89419 1.89419 16.46716 2.5 1.03553 16.44898
3 1 2.5 1.03553 16.44898 1.89419 1.89419 16.46716 0 0 17
4 1 2.47487 5.97487 12.67878 2.39713 5.78718 12.98283 2.5 5.31083 13.5 4.57297 4.57297 12.67878
4 1 3.5 3.5 14.94975 4.57297 4.57297 12.67878 2.5 5.31083 13.5 2.5 4.16818 14.94975
3 1 1.89419 1.89419 16.46716 2 2 16.36717 1.73583 2 16.46716
3 1 2.5 2 16.08394 3.5 3.5 14.94975 2.5 4.16818 14.94975
3 1 1.89419 1.89419 16.46716 1.73583 2 16.46716 0 0 17
3 1 2.39713 5.78718 12.98283 2.47487 5.97487 12.67878 2.33665 6.00237 12.67878
3 1 1.73583 2 16.46716 0 2 16.60218 0 0 17
3 1 2.33665 -6.00237 12.67878 2.47487 -5.97487 12.67878 2.39713 -5.78718 12.98283
3 1 2.39713 -5.78718 12.98283 2.47487 -5.97487 12.67878 4.57297 -4.57297 12.67878
3 1 0 -2 16.60218 1.73583 -2 16.46716 0 0 17
4 1 2.5 -4.16818 14.94975 2.39713 -5.78718 12.98283 4.57297 -4.57297 12.67878 3.5 -3.5 14.94975
3 1 2.5 -4.16818 14.94975 3.5 -3.5 14.94975 2.5 -2 16.08394
3 1 1.73583 -2 16.46716 2 -2 16.36717 1.89419 -1.89419 16.46716
3 1 1.73583 -2 16.46716 1.89419 -1.89419 16.46716 0 0 17
4 1 3.5 -3.5 14.94975 4.57297 -1.89419 14.94975 2.47487 -1.02513 16.46716 2.5 -2 16.08394
3 1 1.89419 -1.89419 16.46716 2.47487 -1.02513 16.46716 0 0 17
4 1 2.5 -2 16.08394 2.47487 -1.02513 16.46716 1.89419 -1.89419 16.46716 2 -2 16.36717
4 1 2.47487 -1.02513 16.46716 4.57297 -1.89419 14.94975 4.94975 0 14.94975 2.67878 0 16.46716
3 1 2.47487 -1.02513 16.46716 2.67878 0 16.46716 0 0 17
4 1 4.57297 4.57297 12.67878 4.94975 4.94975 10 2.67878 6.46716 10 2.47487 5.97487 12.67878
4 1 2.33665 6.00237 12.67878 2.47487 5.97487 12.67878 2.67878 6.46716 10 1.76777 6.30381 11.73223
4 1 1.76777 6.30381 11.73223 2.67878 6.46716 10 0 7 10 .95671 6.57293 11.1903
3 1 .95671 6.57293 11.1903 0 7 10 0 6.80109 11
3 1 1.76777 -6.30381 11.73223 .95671 -6.57293 11.1903 2.67878 -6.46716 10
4 1 0 -7 10 2.67878 -6.46716 10 .95671 -6.57293 11.1903 0 -6.80109 11
4 1 2.47487 -5.97487 12.67878 2.33665 -6.00237 12.67878 1.76777 -6.30381 11.73223 2.67878 -6.46716 10
4 1 4.94975 -4.94975 10 4.57297 -4.57297 12.67878 2.47487 -5.97487 12.67878 2.67878 -6.46716 10
4 4 2.5 4.16818 14.94975 2.5 5.31083 13.5 2.5 2 13.5 2.5 2 16.08394
3 4 2.5 -4.16818 14.94975 2.5 -2 16.08394 2.5 -2 13.5
3 4 2.5 -4.16818 14.94975 2.5 -2 13.5 2.39713 -5.78718 12.98283
4 4 0 2 16.60218 1.73583 2 16.46716 2 2 16.36717 0 2 16
4 4 2 2 16.36717 2.5 2 16.08394 2.5 2 13.5 2.3097 2 14.45671
3 4 .95671 2 15.8097 2 2 16.36717 1.76777 2 15.26777
3 4 .95671 2 15.8097 0 2 16 2 2 16.36717
4 14 0 -6.80109 11 .95671 -6.57293 11.1903 .95671 6.57293 11.1903 0 6.80109 11
4 14 2.33665 6.00237 12.67878 1.76777 6.30381 11.73223 1.76777 -6.30381 11.73223 2.33665 -6.00237 12.67878
4 14 .95671 -6.57293 11.1903 1.76777 -6.30381 11.73223 1.76777 6.30381 11.73223 .95671 6.57293 11.1903
3 14 2.5 2 13.5 2.33665 6.00237 12.67878 2.33665 -6.00237 12.67878
4 14 2.5 5.31083 13.5 2.39713 5.78718 12.98283 2.33665 6.00237 12.67878 2.5 2 13.5
4 4 1.73583 -2 16.46716 0 -2 16.60218 0 -2 16 .95671 -2 15.8097
4 4 2 -2 16.36717 2.3097 -2 14.45671 2.5 -2 13.5 2.5 -2 16.08394
4 4 1.76777 -2 15.26777 2.3097 -2 14.45671 2 -2 16.36717 1.73583 -2 16.46716
3 4 .95671 -2 15.8097 1.76777 -2 15.26777 1.73583 -2 16.46716
4 14 2.39713 -5.78718 12.98283 2.5 -2 13.5 2.5 2 13.5 2.33665 -6.00237 12.67878
4 14 2.3097 -2 14.45671 1.76777 -2 15.26777 1.76777 2 15.26777 2.3097 2 14.45671
4 14 2.5 -2 13.5 2.3097 -2 14.45671 2.3097 2 14.45671 2.5 2 13.5
4 14 .95671 -2 15.8097 0 -2 16 0 2 16 .95671 2 15.8097
4 14 .95671 2 15.8097 1.76777 2 15.26777 1.76777 -2 15.26777 .95671 -2 15.8097
3 4 2.3097 2 14.45671 1.76777 2 15.26777 2 2 16.36717



RE: [LDPartEditor] 0.8.18 Beta Released (Show selection in Text Editor / bugfix) - Magnus Forsberg - 2016-07-21

(2016-07-21, 8:05)Philippe Hurbain Wrote: Apart for leaning purpose I really don't think it's a good idea to really cut the sphere. Interpenetrating cyli/sphe primitives will give a much better visual result and simpler code. There is an existing cyli to sphe primitive too (not on my computer, can't find it)

Are you thinking of 4-4cyl1sph2.dat?

[Image: cyl-sph.png]
A cylinder with a jagged edge line, creating the edgelines in the intersection between the ball and the cyli.


Milestone 0.8.19 is ready... - Nils Schmidt - 2016-07-22

You can take a look what you'll get in a few hours:
https://github.com/nilsschmidt1337/ldparteditor/milestone/35?closed=1

...but I am going to eat a very delicious burger first :P