[LDPE] 1.8.82 Released (un-inline / subfile link shortcut / zip-export)


[LDPE] 1.8.82 Released (un-inline / subfile link shortcut / zip-export)
#1
Hey,

this new version improves the changes from the previous release and adds new helpful features, too.
It is now possible to "un-inline" a linked inlined subfile (with Ctrl-click on the "Inline selection (Linked)" button).
And there are new shortcuts. You can customise the key shortcut to activate links in the text editor (it was Ctrl/Cmd before, now it is Ctrl/Cmd+Shift).

[Image: imgDuke2.png]

As always, you can download LDPE from this page:

http://nilsschmidt1337.github.io/ldparteditor/

Changelog:

(4 new features and 2 bug fixes)

With this release you will be able to...
  • ..."un-inline" linked subfiles in the main part (with ctrl+click on the "Inline selection (Linked)" button).
  • ...customise a key shortcut to activate links in the text editor (it was Ctrl/Cmd before, now it is Ctrl/Cmd+Shift).
  • ...use key shortcuts for merge triangles to quads / split quads to triangles (shift+q and shift+t).
  • ...use "Save As..." to export a file with its references into a single zip file.

The following critical issues are fixed:

  1. "Empty Subfiles" was not properly checked in the context menu of the 3D view.
  2. The path "parts/textures" was not used as a search path for PNG textures.

The program was tested intensively with "real world" files.
However, something can go wrong in about 140.000 lines of code.

Installation on Windows:

  1. Download and extract LDPartEditor_win32_x64.zip
  2. Run LDPartEditor-1.8.82.msi
  3. Start LDPartEditor from the start menu
Installation on Linux:

  1. Download and extract LDPartEditor_linux_x64.zip
  2. Install ldparteditor_1.8.82-1_amd64.deb
  3. Start LDPartEditor from the menu or via launcher
Installation on Mac OS X:

  1. Download and extract LDPartEditor_mac_x64.zip
  2. Mount LDPartEditor-1.8.82.dmg
  3. Drag LDPartEditor.app to the Applications folder
  4. Copy ldparteditor.sh to your home folder
        4a. Open a Terminal.app and run ./ldparteditor.sh
        4b. Or open a Terminal.app and run /Applications/LDPartEditor.app/Contents/MacOS/LDPartEditor

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:
  • 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: 150 MB
Recommended Requirements:
  • Operating System (64bit): Windows 7,8,10,11, 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: 500 MB
  • For a faster start, LDPartEditor and the LDraw™ library should be installed on an SSD.
Reply
RE: [LDPE] 1.8.82 Released (un-inline / subfile link shortcut / zip-export)
#2
Everytime I run Edger2 I end up in a state where I have to save the file, before any other editing is possible.
Reply
Technical details of the Edger2 sync problem (its complicated)
#3
(2024-07-15, 11:14)Magnus Forsberg Wrote: Everytime I run Edger2 I end up in a state where I have to save the file, before any other editing is possible.

Thanks, Magnus.
Willy reported the same problem a while ago. It was unclear why, until today. It will be fixed with the next version.
The root cause was, that the UI thread did not set a boolean variable to true sometimes on some machines.

In the code you will find a function syncWithTextEditors.
What is does in simple words: It tells
Quote:"Hey, here is an update for the text editor to display. I locked the editor for changes until the update shows up."

then another process will accept the order:
Quote:"Ok. I will wait for 2.2 seconds and update the text editor, unless there is another update in the queue. Then I return that the text editor was updated and this will unlock the text editor (updated = true)."

On some machines, the response "updated = true" did not reach its destination.
This led to a state where the text editor content was updated, but it was not flagged as updated.
Then the text editor remained read only, unless you did a save for example.

The fix was implemented by adding a volatile keyword on the updated boolean variable.
Using volatile makes sure that changes on this variable are visible to every thread.

Code:
// The following line is wrong
// private boolean updated = true;

// This is correct, using volatile to make sure that changes are visible to every thread.
private volatile boolean updated = true;

public final void syncWithTextEditors(...) {

    // Indicate that the text editor needs an update and should not be changed by user input
    setUpdated(false);

    lock.lock();
    try {
        Thread.ofVirtual().start(() -> {

            * some higher magic in another thread *

            Display.getDefault().asyncExec(() -> {
                try {
                    * update the text editor in the UI thread *
                } finally {
                    // The text editor was updated and is unlocked.
                    // On some machines, this code did not update the value, because "volatile" was missing on the "updated" variable.
                    setUpdated(true);
                }
            });
        });
    } finally {
        lock.unlock();
    }
}
Reply
RE: [LDPE] 1.8.82 Released (un-inline / subfile link shortcut / zip-export)
#4
(2024-07-13, 18:13)Nils Schmidt Wrote:
  • ...use key shortcuts for merge triangles to quads / split quads to triangles (shift+q and shift+t).

Wow, so quick! Thanks for this update. Smile
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 1 Guest(s)