[LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)


[LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#1
Hi,

here is a release which wipes out some critical bugs.

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

Changelog:
(7 bug fixes)

The following critical issues were fixed:

  1. Edger2 created duplicated TYPE 2 lines which were hard to spot.
  2. The primitive text search field was sometimes failing / sometimes primitives were not shown at all.
  3. Edger2 only created condlines if the adjacent surfaces vertices matched perfectly.
  4. Undo/Redo did not work with the CSG_EXTRUDE meta command.
  5. CSG inlining did not use all CPU cores.
  6. The new numeric input fields were blocking the common thread pool (no crash, only performance degradation).
  7. There was an endless loop regarding the new numeric input fields (no crash, only performance degradation).

What will the next release 0.8.38 deliver? A new CSG engine with great triangulation 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, 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, 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.
Reply
New CSG Engine
#2
I am working on a new CSG engine which will generate less triangles and a better overall triangulation.
There are already some promising results, but I need to define more testcases to deliver a rock-solid implementation in the end.
Reply
RE: New CSG Engine
#3
(2017-09-18, 18:44)Nils Schmidt Wrote: I am working on a new CSG engine which will generate less triangles and a better overall triangulation.
There are already some promising results, but I need to define more testcases to deliver a rock-solid implementation in the end.
An incentive to finally learn CSG in LDPE Wink
...and thanks for the headup, I somehow missed that release announcement (and did sometimes noticed a slowdown - nice to know it's fixed now!)
Reply
RE: [LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#4
Bug of the day:

* No notification pop-up when update is completed
* Prog does not store my full screen window status but reopens the window a bit smaller
* Prog does not store the status of the "Move adjacent data" button. Launches always with unpressed status
* Adding a blank while in "Triple manipulation" in the text editor causes havoc. I would expect that the rectangle around the triples are a safe harbour as long as I don't select something else independently what I'm inserting.

w.
LEGO ergo sum
Reply
RE: New CSG Engine
#5
(2017-09-18, 18:44)Nils Schmidt Wrote: I am working on a new CSG engine which will generate less triangles and a better overall triangulation.
There are already some promising results, but I need to define more testcases to deliver a rock-solid implementation in the end.

You could use the code for the Jurassic World Sphere to test:
https://forums.ldraw.org/thread-16357.ht...hlight=CSG

I managed to do it with different steps and with Intersector to reduce the number of triangles. I promis I finish the part soon, right now comparing it to the LDD version
Reply
RE: [LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#6
Bug report
  • An edge, or cond-line is selectable through a surface, even if it is hidden behind that surface, if a vertex of that line is visible and that line is part of a primitive.
  • Sometimes long edges are hard to select until both vertices are visible

.png   edges.png (Size: 10.99 KB / Downloads: 202)

This picture show an example of two selectable edges, included in prims, but the edge at the red arrow is not selectable.
Reply
RE: [LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#7
Probably the thing I miss the most in LDPE (already asked for that Wink ): a slanting tool...
Reply
RE: New CSG Engine
#8
(2017-09-20, 22:31)Gerald Lasser Wrote:
(2017-09-18, 18:44)Nils Schmidt Wrote: I am working on a new CSG engine which will generate less triangles and a better overall triangulation.
There are already some promising results, but I need to define more testcases to deliver a rock-solid implementation in the end.

You could use the code for the Jurassic World Sphere to test:
https://forums.ldraw.org/thread-16357.ht...hlight=CSG

I managed to do it with different steps and with Intersector to reduce the number of triangles. I promis I finish the part soon, right now comparing it to the LDD version

Thanks Gerald! I will use the sphere to test it. I already knew something about your work (J.C. Tchang mentioned it in his LDPE manual).

My plan is to release the new CSG engine in December. I started to optimise the CSG triangulation in September, but then I had improve the overall stability of the algorithm and discard the  triangulation optimisations. Now, I am working on triangle optimisations again.
Reply
Bug report: MeshReducer does a wrong check for common vertices
#9
Today, I fixed an issue (#608) which is related to the MeshReducer tool.  At the moment there is a chance that MeshReducer could generate holes (There was a wrong check for common adjacent vertices).

The bugfix will be included in the next 0.8.38 release.
Reply
Bug report: TJunctionFinder does not fix t-junctions anymore.
#10
Today, I fixed another issue (#608) which is related to the TJunctionFinder tool.  At the moment the tool will not fix t-junctions anymore ("Find Only" still works).

The bugfix will be included in the next 0.8.38 release.
Reply
Edge selection bugs
#11
I created issues for this problem (#610, #611).

A temporary workaround might be to enable View Actions -> HiddenVertices (context menu from the 3D view) this will allow you to select all lines. The drawback is that it also selects hidden lines.
Reply
Slanting tool?
#12
(2017-10-31, 17:45)Philippe Hurbain Wrote: Probably the thing I miss the most in LDPE (already asked for that Wink ): a slanting tool...

What is a slanting tool?
Reply
RE: Slanting tool?
#13
(2017-11-12, 13:25)Nils Schmidt Wrote:
(2017-10-31, 17:45)Philippe Hurbain Wrote: Probably the thing I miss the most in LDPE (already asked for that Wink ): a slanting tool...

What is a slanting tool?
A way to deform primitives (slant them). There is an exhaustive tutorial here http://jc-tchang.philohome.com/manuel/prim_def.htm - unfortunately in French, but I guess that Google translate will be good enough!

Another example (from https://forums.ldraw.org/thread-12247.html):
- We need to project again the surface. We do that with a slant transformation. In the initial file, we see that for a 144 ldu height we need to tilt in y direction by 40 ldu. This gives the slant ratio: 40/144=0.2777778. The transformation matrix is thus:
Code:
Code:
1 0.2777778 0 0 1 0 0 0 1
Reply
RE: Slanting tool?
#14
(2017-11-12, 13:25)Nils Schmidt Wrote:
(2017-10-31, 17:45)Philippe Hurbain Wrote: Probably the thing I miss the most in LDPE (already asked for that Wink ): a slanting tool...

What is a slanting tool?

I called it skewing in this thread https://forums.ldraw.org/thread-18771-po...e#pid18771
Reply
Store the status of "Move Adjacent Data" in the user settings.
#15
(2017-09-20, 7:25)Willy Tschager Wrote: * Prog does not store the status of the "Move adjacent data" button. Launches always with unpressed status

I implemented this feature today (#613).
Reply
RE: Slanting tool?
#16
Here is another example/question:
How do I rotate an edge around an sloping cylinder ?
Reply
New CSG Engine is done / Christmas will be a little bit earlier ;)
#17
(2017-09-20, 22:31)Gerald Lasser Wrote:
(2017-09-18, 18:44)Nils Schmidt Wrote: I am working on a new CSG engine which will generate less triangles and a better overall triangulation.
There are already some promising results, but I need to define more testcases to deliver a rock-solid implementation in the end.

You could use the code for the Jurassic World Sphere to test:
https://forums.ldraw.org/thread-16357.ht...hlight=CSG

I managed to do it with different steps and with Intersector to reduce the number of triangles. I promis I finish the part soon, right now comparing it to the LDD version

Gerald, I finished the new engine today and I got tears in my eyes. The result is outstanding. Nearly super-human!
I attached the raw CSG result to this post (rectifier was only used to save some space).

With this new engine, all I have to do is:

1. (optional) wait until the CSG shape is fully optimised -> there is no popup dialog. The iterative optimization is runs on a background task. You can even modify other files with LDPE during the CSG optimization.
2. Inline the CSG_COMPILE meta command.
3. (optional) round / use Rectifier / minor cleanup etc.

There will be an option to turn this optimisation on/off (its on by default) and to customise some thresholds! There is a collinearity threshold for the edge collapsing process and a minimum point-to-line distance for t-junction vertices.

I will release LDPE 0.8.38 in December. Have to finish the backlog first and do some more testing.


Attached Files
.dat   jurassic_world_sphere.dat (Size: 94.88 KB / Downloads: 4)
Reply
RE: [LDPartEditor] Last character of file not selected
#18
A very minor one that bothers me from time to time... if I double click on the last element of last line of file (when there is no blank line below) then the last character is not selected. eg. if last line is 1 16 0 3 0 -10 0 0 0 11 0 0 0 -10 1-8edge.dat and it double click on 1-8edge.dat then only 1-8edge.da is selected.
Reply
RE: Last character of file not selected
#19
(2017-11-17, 9:22)Philippe Hurbain Wrote: A very minor one that bothers me from time to time... if I double click on the last element of last line of file (when there is no blank line below) then the last character is not selected. eg. if last line is 1 16 0 3 0 -10 0 0 0 11 0 0 0 -10 1-8edge.dat and it double click on 1-8edge.dat then only 1-8edge.da is selected.

I fixed this issue today (#618). It will be included in the 0.8.38 release.
Reply
RE: New CSG Engine is done / Christmas will be a little bit earlier ;)
#20
(2017-11-16, 21:46)Nils Schmidt Wrote: Gerald, I finished the new engine today and I got tears in my eyes. The result is outstanding. Nearly super-human!
I attached the raw CSG result to this post (rectifier was only used to save some space).

...

I will release LDPE 0.8.38 in December. Have to finish the backlog first and do some more testing.

Wow! This is a really great result. You did a really wonderful job!

Looking forward to the release!
Reply
RE: [LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#21
Hi Nils,
Is there by any chance a 32 bit version??
(i am still on old school [Image: biggrin.png]

Regards
Reply
32-bit release?
#22
(2017-11-19, 17:29)Rudolph Bosman Wrote: Hi Nils,
Is there by any chance a 32 bit version??
(i am still on old school [Image: biggrin.png]

Regards

Hi Rudolph,

unfortunately, I am not able to provide support for 32-bit OS versions anymore.
LDPartEditor depends on third party libraries which have already dropped support for 32-bit.

Best,
Nils
Reply
RE: 32-bit release?
#23
Maybe someone still has an ooooold 32bits version?
Reply
RE: [LDPartEditor] Part type for new parts
#24
Minor annoyance: when I create a new file, it receives a header that contains an invalid "0 !LDRAW_ORG" statement. Problems Hints section tells me that part type information is missing, then if I make a quick fix it adds a proper "0 !LDRAW_ORG Unofficial_Part" statement but doesn't remove the truncated "0 !LDRAW_ORG" one.
Reply
RE: [LDPartEditor] Part type for new parts
#25
(2017-11-21, 9:21)Philippe Hurbain Wrote: Minor annoyance: when I create a new file, it receives a header that contains an invalid "0 !LDRAW_ORG" statement. Problems Hints section  tells me that part type information is missing, then if I make a quick fix it adds a proper "0 !LDRAW_ORG Unofficial_Part" statement but doesn't remove the truncated "0 !LDRAW_ORG" one.

I fixed this issue today (#628).
It will be included in the 0.8.38 release (on ~1st December 2017).
Reply
RE: 32-bit release?
#26
(2017-11-20, 19:18)Philippe Hurbain Wrote: Maybe someone still has an ooooold 32bits version?

Version 0.8.24 has 32-bit support. This release is about a year old.

You can download it here:
https://github.com/nilsschmidt1337/ldpar....8.24-beta
Reply
RE: [LDPartEditor] Part type for new parts
#27
(2017-11-22, 19:33)Nils Schmidt Wrote: I fixed this issue today (#628).
It will be included in the 0.8.38 release (on ~1st December 2017).

Will the same fix also correctly change a file from "Part" to "Unofficial_Part"?
I've been reworking a lot of parts lately and had to manually delete the old line, "0 !LDRAW_ORG Part"
Reply
RE: 32-bit release?
#28
(2017-11-20, 17:42)Nils Schmidt Wrote:
(2017-11-19, 17:29)Rudolph Bosman Wrote: Hi Nils,
Is there by any chance a 32 bit version??
(i am still on old school [Image: biggrin.png]

Regards

Hi Rudolph,

unfortunately, I am not able to provide support for 32-bit OS versions anymore.
LDPartEditor depends on third party libraries which have already dropped support for 32-bit.

Best,
Nils

Hi Nils,

ok, fully understandable. it has beem anyway a long time i wanted to upgrade to 64 bit, so i am going to do it and get over and done with it.
Thanks for motivating me to do it finally.    Big Grin (ps. i am very exited to upgrade)

Best,
Rudolph
Reply
RE: [LDPartEditor] Part type for new parts
#29
This wouldn't hurt indeed... Nonetheless, Datheader proposes to do that change automagically.
Reply
RE: [LDPartEditor] 0.8.37 Beta Released (Critical Bug Fix)
#30
Just to let you know that I have given up on my wish to see the Front, Left, Top, icons mirrored to the toolbar ;-)

Thx, w.
LEGO ergo sum
Reply
RE: [LDPartEditor] isecalc
#31
Very, very minor improvement: Isecalc is almost never on whole file, and should default to act on current selection.
Reply
RE: [LDPartEditor] isecalc
#32
(2017-11-23, 13:16)Philippe Hurbain Wrote: Very, very minor improvement: Isecalc is almost never on whole file, and should default to act on current selection.
Adding to this, the same should apply for "add line intersection points" This works also only for the whole file and sometime generates a wild selection of vertices...
Reply
RE: [LDPartEditor] isecalc
#33
(2017-11-23, 15:48)Gerald Lasser Wrote: Adding to this, the same should apply for "add line intersection points" This works also only for the whole file and sometime generates a wild selection of vertices...
Looks like I am not aware of this tool... Where do I find this?
Reply
RE: Slanting tool?
#34
I created issue #614 for the slanting tool.
Reply
Where is "add line intersection points"?
#35
(2017-11-23, 16:28)Philippe Hurbain Wrote:
(2017-11-23, 15:48)Gerald Lasser Wrote: Adding to this, the same should apply for "add line intersection points" This works also only for the whole file and sometime generates a wild selection of vertices...
Looks like I am not aware of this tool... Where do I find this?

It's not a tool. It's a button next to the "C2L" button on the 3D editor toolbar.
Reply
Scope of "add line intersection points"
#36
(2017-11-23, 15:48)Gerald Lasser Wrote: Adding to this, the same should apply for "add line intersection points" This works also only for the whole file and sometime generates a wild selection of vertices...

If you do a selection, it works for the selection. Otherwise it would process the whole file.

There might be some other disadvantages when the "no selection -> whole file" behaviour is disabled:

- If you try to learn LDPE and you click on this button nothing will happen, because it requires a selection.
- I could implement a popup dialog, which will ask if you really want to apply it to the whole file, but I have some UX concerns.

What is your opinion?
Reply
Scope of isecalc
#37
(2017-11-23, 13:16)Philippe Hurbain Wrote: Very, very minor improvement: Isecalc is almost never on whole file, and should default to act on current selection.

I created an issue (#629).
The feature will be included in the next release.
Reply
3D perspectives on toolbar
#38
(2017-11-23, 12:17)Willy Tschager Wrote: Just to let you know that I have given up on my wish to see the Front, Left, Top, icons mirrored to the toolbar ;-)

Thx, w.

Okay.
Reply
RE: 32-bit release?
#39
(2017-11-23, 8:44)Rudolph Bosman Wrote:
(2017-11-20, 17:42)Nils Schmidt Wrote: Hi Rudolph,

unfortunately, I am not able to provide support for 32-bit OS versions anymore.
LDPartEditor depends on third party libraries which have already dropped support for 32-bit.

Best,
Nils

Hi Nils,

ok, fully understandable. it has beem anyway a long time i wanted to upgrade to 64 bit, so i am going to do it and get over and done with it.
Thanks for motivating me to do it finally.    :D (ps. i am very exited to upgrade)

Best,
Rudolph

off-topic: Good luck and enjoy your new PC build! :) There is a low chance that I will upgrade in the next year... I have no logic reason to do so... the CPU evolution is not so fast, compared to graphic cards and harddrives. 2018 will be the year of Ryzen 2, Threadripper 2, and Intel Ice Lake. I will probably buy new hardware in 2020.
Reply
RE: Scope of "add line intersection points"
#40
(2017-11-23, 20:01)Nils Schmidt Wrote:
(2017-11-23, 15:48)Gerald Lasser Wrote: Adding to this, the same should apply for "add line intersection points" This works also only for the whole file and sometime generates a wild selection of vertices...

If you do a selection, it works for the selection. Otherwise it would process the whole file.

There might be some other disadvantages when the "no selection -> whole file" behaviour is disabled:

- If you try to learn LDPE and you click on this button nothing will happen, because it requires a selection.
- I could implement a popup dialog, which will ask if you really want to apply it to the whole file, but I have some UX concerns.

What is your opinion?

I observe that on larger files this may start a long(er) running job that makes you wonder what it is doing. I tried doing it with selecting only the lines I would like to intersect, but I got the impression that it did not always do what I wanted, however when applying it to the whole file it worked. It generates additional vertices that I don't find on any line. When I get it the next time, I will post it.

The pop-up, if nothing is selected, would be an improvement in my opinion as you still have the chance to cancel the operation.
Thansk
Reply
RE: Scope of "add line intersection points"
#41
Ah - yes of course I know this function (I asked for it!) but I never had the idea to use it without a selection. Popup seems the best solution ("a selection of edge lines is needed" + close button, or something like that).
Reply
RE: Scope of "add line intersection points"
#42
(2017-11-24, 9:44)Philippe Hurbain Wrote: Ah - yes of course I know this function (I asked for it!) but I never had the idea to use it without a selection. Popup seems the best solution ("a selection of edge lines is needed" + close button, or something like that).

I implemented a popup and a dialog with a progressbar and a cancel button yesterday (#630).
Reply
Quick fix for missing "Unofficial_" prefix
#43
(2017-11-22, 22:03)Magnus Forsberg Wrote: Will the same fix also correctly change a file from "Part" to "Unofficial_Part"?
I've been reworking a lot of parts lately and had to manually delete the old line, "0 !LDRAW_ORG Part"

I fixed this issue today (#631).

Someday, I will implemented a feature which removes the UPDATE YYYY-MM suffix, too.
Reply
RE: Quick fix for missing "Unofficial_" prefix
#44
(2017-11-26, 20:50)Nils Schmidt Wrote: I fixed this issue today.

 Nice.
Reply
RE: Scope of "add line intersection points"
#45
(2017-11-25, 13:52)Nils Schmidt Wrote: I implemented a popup and a dialog with a progressbar and a cancel button yesterday (#630).

Great! Thank you!
Reply
Quick fix for UPDATE date in the part type
#46
(2017-11-26, 20:50)Nils Schmidt Wrote: Someday, I will implement a feature which removes the UPDATE YYYY-MM suffix, too.

Today, I implemented a quick fix to remove the UPDATE from the type (#633).
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 8 Guest(s)