LDraw.org Discussion Forums

Full Version: [LDPartEditor] 0.8.20 Beta Released
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

this could be version 0.9.0... but it's still 0.8.20... the best is yet to come.

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

Changelog:
(11 new features and 5 bug fixes)

With this release you will be able to...
  • ...use the 3D editor and the text editor in one window. You can enable this under "Options...->Misc. Options->Text and 3D editor arrangement". It needs a restart of the application.
  • ...use the TJunctionFinder to just "find" possible T-junctions without changing the mesh.
  • ...deselect objects only with Ctrl+Click (Ctrl+Marquee is not possible anymore).
  • ...add objects to the selection (Ctrl is pressed and you use the selection marquee or Ctrl+Click).
  • ...benefit from the fact that the existing selection is cleared if nothing was selected and Ctrl was not pressed.
  • ...find the "Last opened Files/Projects" on the "New Part - Open Part - ..." toolbar.
  • ...benefit from the fact that empty text editor windows are populated with a new tab instead of creating a new text editor window.
  • ...restore the complete viewport state for different files. Each file has now its own 3D viewport configuration. Open file A, activate "Random Colours" and you switch to file B to do something different without "Random Colours". If you switch back to file A, "Random Colours" are activated again. However, this automatic feature is not limited to the random colour mode. It includes every 3D viewport setting.
  • ..."group" a selection. Select non-subfile content in the 3D editor. Open the context menu over the 3D view and select "Join selection (Text Editor)" to bring together what belongs together!
  • ...see a warning/info, when "Move Adjacent Data" is on (for translate/rotate/scale).
  • ...benefit from the fact that "Quick Fix Similar" for vertex declarations deletes other vertices (!LPE VERTEX), too.

The following critical issues were fixed:


  1. SyncEdit: The cursor jumped ahead after I tried to edit a vertex
  2. Switching the tabs in the 3D editor modified the last visited file location.
  3. Some issues with the hint/warning/error tree.
  4. Pasting something does not disable "Move Adjacent Data".
  5. The selection highlight feature in the text editor was sometimes not synchronised with the 3D view.
  6. Other minor bug fixes (regarding undo / redo with selection and/or hidden objects).

What will the next release 0.8.21 deliver? Bug fixes, selection and manipulator features, more features for the angle protractor...

* well..., I need to reproduce the errors first. I was not able to...



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.20 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.
Looks like Github still shows 0.8.19 version executable only?
(2016-07-31, 6:44)Philippe Hurbain Wrote: [ -> ]Looks like Github still shows 0.8.19 version executable only?

Arrgh... :) I corrected the links on the page.
Now it should be up to date.
Is it just me, not knowing any other CAD programs, but what's the difference between Local/Global buttons?

How am I supposed to use the Scale tool?
It seems to be connected to te Scale Snap setting, but it seems to multiply instead of rescaling, and only primitives.
If I set the Scale Snap to 1.1 it goes from 1 to 1.1, to 1.21, to 1.331, to 1.4641 and so on.

How do I set the Manipulator to move a vertice away from, or closer to, the origin?
How do I resize a "ring" of loose vertices relative the origin, or the Manipulator.
(2016-07-31, 10:26)Nils Schmidt Wrote: [ -> ]Now it should be up to date.
Works fine Wink
Selection/deselection, etc works fine now!
Quote:..."group" a selection. Select non-subfile content in the 3D editor. Open the context menu over the 3D view and select "Join selection (Text Editor)" to bring together what belongs together!
I like this one! but is there a good reason to restrict it to non-subfile elements?
(2016-07-31, 12:41)Philippe Hurbain Wrote: [ -> ]
Quote:..."group" a selection. Select non-subfile content in the 3D editor. Open the context menu over the 3D view and select "Join selection (Text Editor)" to bring together what belongs together!

I like this one! but is there a good reason to restrict it to non-subfile elements?

No and yes... In fact, it is not restricted to non-subfile elements. You can still select subfile elements "to group", but then you'll group only a copy of the element, since LDPE is not allowed to modify the contents of a subfile directly (that would be a way to complicated).
Quote:No and yes... In fact, it is not restricted to non-subfile elements. You can still select subfile elements "to group", but then you'll group only a copy of the element, since LDPE is not allowed to modify the contents of a subfile directly (that would be a way to complicated).
Got it! it does group subfile+lines+quads. Note to self: subfile != subfile elements...
Otherwise, seems that the context menu "open in text editor" does nothing?
Quote:Is it just me, not knowing any other CAD programs, but what's the difference between Local/Global buttons?
Good question, would like to know the answer too Wink

Quote: How am I supposed to use the Scale tool?
It seems to be connected to te Scale Snap setting, but it seems to multiply instead of rescaling, and only primitives.
If I set the Scale Snap to 1.1 it goes from 1 to 1.1, to 1.21, to 1.331, to 1.4641 and so on.
I find the Scale tool almost completely useless too. Just used it a bit to do some "eyeballing" to make a selection visually similar to the real part without precise measurement. And even for this it's clumsy to use as you can't lock two or more axis together to get the same scaling in several direction at the same time (maybe I missed something here?). Otherwise I only use Merge/split -> scale selection.

Speaking of LDPE mysteries, I still wonder the purpose of "reverse manipulator axis" or "swap x and y manipulator axes" buttons except to eat some valuable toolbar space?
(2016-07-31, 14:10)Philippe Hurbain Wrote: [ -> ]... eat some valuable toolbar space?

If we now can have both 3D and text editor in the same window, why do we still have two sets of Save buttons and two sets of colour pallettes?

Why can't I "Select all with same colour", use "Join Selection" in the 3D viewer, but not hide them with the "Toggle Comment"-button in the Text editor?
It' behaves as if it still is two different programs, even if they now are joined in the same window.
Here's why I want to have resizable, "non-standard" primitives as a possibility in LDPE.

[Image: 24308a.png]

A five spoke rim front, divided into ten spokes, adapted to a sixteen sided primitive.
I had to make this using a set of fifteen sided primitives. Easy to make with PrimGen2.
(2016-07-31, 15:51)Magnus Forsberg Wrote: [ -> ]If we now can have both 3D and text editor in the same window, why do we still have two sets of Save buttons and two sets of colour pallettes?

Why can't I "Select all with same colour", use "Join Selection" in the 3D viewer, but not hide them with the "Toggle Comment"-button in the Text editor?
It' behaves as if it still is two different programs, even if they now are joined in the same window.

Well, I kept these two sets because of the fact that a 3D editor is not a text editor.
There are also shorter mouse distances to the corresponding save buttons and it is clear that "Save" (in the text editor) will save the file there and not the active file from the 3D editor (the file in the text and the 3D editor can be the same, but this is not a must-have).
With only one save button you have to select one file in the text editor and take care to not activate another file in the 3D editor.
You have Ctrl+S as a shortkey to save a file. You can use it.


I should tell you more about the design philosophy of this program...
You can open different files in the text editor and different files in the 3D editor.
And you can edit a file in both editors at the same time.

But: The user should not be forced to edit a file in both editors at the same time.
It is also possible to open different files in the 3D editor at the same time (in different views).
I will not take away that degree of freedom from the user.

However..., I will remove one colour palette, since a second one is really superflous.

I can't do this. There is a function scope ambiguity if I remove the second colour bar.

[Image: selection_ambiguity.png]

Why can't you hide with the "Toggle Comment" in the 3D editor?
Well, in 3D, there are no comments visible. You can hide a selection or show all 3D objects.
But you can't hide subfile elements with a comment... that is not so easy*.

What is a comment in 3D?
Does it exist? How can you see it? Will it be manipulated? How can you know that a comment is hiding a valid object that you want to show again or even edit?
How do you want to show/uncomment the object again? How should the program implement this?

This lead to some idea of another meta command like "0 !LPE GHOST "...
But is this necessary, since there is the possibility...
  • to hide it temporary (with the ghost function)...
  • comment it manually...
  • to create a subfile from the selection and hide/comment the subfile reference...
  • to cut something and paste it into another file...
  • to cut something and paste it into the same file and comment it in the text editor...
  • group something in the text editor and comment it in the text editor...
  • to make it transparent and activate "Toggle Selection Through Transparent Objects", which allows you to select objects behind transparent surfaces
Another idea would be, to extend the scope of the "Toggle Comment" function from the text editor to the selection of the 3D editor and allow only one way:
To hide the selection with a comment. But that leads to another function scope ambiguity

I would rather continue to write more text for the user manual instead of implementing a new fancy toggle comment feature.






* unless you are familar with the !LPE INLINE meta command...
Feature request of the day:

* As a user I'd like to have icons to quickly "fullscreen" either the Text or 3D editor and a third icon which restores the divided view:

[attachment=2399]

* As a user I'd like to have the position of the divider between Text and 3D editor saved so that at start-up I do not have to move it to my preferred position every time
* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/120 gets high priority
* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/118 gets high priority

Thanks, w.
Guys,

is there a setting I missed to have LDPE report identical line errors?

w.
I do understand the need for duplicated sets of tools, since we have the possibillity of having different files open in each editor.

What I'm asking for is, if I remember correctly, similar to what Willy also have asked for, making the selected object directly editable in the text editor. As a user I want to select objects in the 3D viewer, use Show Selection in Text Editor, and then edit them in the text editor.
As it is made now, I have to select the highlighted objects again, before I can edit it. (And maybe it should stay like that.)

To me, the Ghost button is not good enough. I don't like the Unhide All-function. I want to have better control of my hidden objects. I hide different sections of the part I'm working on using the Toggle comment-button instead. And I can't see which objects are "hidden" in the text editor.

I do like the "Join Selection (Text Editor)". It made turning them into comments easier. (but it also wrecks the structure of my file....)
I can learn to work with the Ghost-button and use Toggle Comments if I want to.


I appreciate that you want to add more to the User Manual instead.


Bug report:
Having many open tabs in either editor, and hovering over the Close-cross, the cross turns red.
I can click on any of the crosses, but only the active tab will be closed instead. Not the tab I clicked in.
Bug of the day:

* C2L and L2C is broken It's working, not working. Cannot figure out when things go wrong.

w.
Wish of the day:
In order to ease the creation of symmetrical parts, I would like to have a new meta command, !LPE MIRROR <X,Y,Z> ... !LPE MIRROR END. All elements placed in MIRROR section would show up in normal orientation and in mirrored one. A button would allow to add new elements to the mirror section if pressed, or to the "middle" section if released. Another button would allow to hide the mirrored elements (to see inside part). Of course vertices of the mirrored elements would be active when not hidden, allowing to easily attach elements of the "middle". At the end, the mirror section could be converted to a subpart if size justify, or "compiled" into truely mirrored elements.
(2016-08-02, 11:27)Willy Tschager Wrote: [ -> ]is there a setting I missed to have LDPE report identical line errors?

Currently, it is only possible to silently remove duplicates with the "Remove Duplicates" button in the text editor.
A decent approach to detect duplicates is independent of the vertex position.

E.g.

Quote:3 16 0 0 0 1 0 0 0 1 0

and

Quote:3 16 1 0 0 0 1 0 0 0 0

are different text lines, but logical duplicates.

The detection should ideally run after the text was modified (even a single letter input can create a duplicate).
So it can be quite time consuming to detect duplicates properly on a file with e.g. 16.000 lines.
A realtime detection is still possible...
It is an asynchronous task which runs in the background and the user does not wait for it to complete.

The implementation and testing will take about a week, if I decide to implement this feature (It's multi-threading. It is not easy.).
I created a ticket for this...

I have to finish milestone 0.8.21 first and I really would like to spend more time on writing the wiki/manual pages...
(2016-08-02, 11:26)Willy Tschager Wrote: [ -> ]* As a user I'd like to have icons to quickly "fullscreen" either the Text or 3D editor and a third icon which restores the divided view:
* As a user I'd like to have the position of the divider between Text and 3D editor saved so that at start-up I do not have to move it to my preferred position every time

Thanks! I created some tickets (#398, #397).

Quote:* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/120 gets high priority
* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/118 gets high priority

Well, as a product owner, I am in control of the backlog. I will decide when issue #120 and issue #118 will be fixed... not you, Willy Smile

50 issues are open.
I closed in total 348 issues, implemented 156 features and fixed 185 bugs on my own (LDPE has about 115.000 lines of code).
I have to set my priorities to continue the good and solid work on this project.

Instead of spamming new buttons on the GUI, I should provide options to make the GUI more customizable and I really should write more text on the wiki.
Every significant change to the GUI makes it harder to plan my wiki writing tasks... I need up-to-date screenshots from the GUI for the wiki.
I really like this feature Smile

However, it...
  • will take time to implement (if I really do this, I want a fast "realtime" mirror).
  • will be a feature for the advanced / expert user
  • will need some tricks to allow the modification on both sides of the mirror (so you don't have to care which side is editable).
  • will require CPU horsepower for the mirror transformation
  • will support only one mirror per file and no mirror within subfiles (allowing more would be very hard to implement with performance in mind).
  • will be necessary to introduce a new mirror mode and do some other fundamental changes to the code base (due to performance reasons)
I am working on a PrimGen2 clone...
But you'll have to wait for release 0.8.22.

I can't include it in the upcoming milestone 0.8.21.
0.8.21 has 7 bug-fixes and 7 enhancements.
I want to release it first Smile

...and then I'll focus on primitive generation and identical line detection.
(2016-08-02, 11:44)Magnus Forsberg Wrote: [ -> ]Bug report:
Having many open tabs in either editor, and hovering over the Close-cross, the cross turns red.
I can click on any of the crosses, but only the active tab will be closed instead. Not the tab I clicked in.

Yeah... I know this.
I guess the bug is located in the SWT widget toolkit (out of scope from my source code).
I can try to fix it (with 0.8.22), but I cannot ensure to solve it.

I was able to fix this :) This issue will be gone with release 0.8.21.
Glad you like it!
Quote:
  • will take time to implement
Oh - really??? Big Grin
Quote:will need some tricks to allow the modification on both sides of the mirror (so you don't have to care which side is editable).
I was rather thinking of some visual coding (special color? transparency?) for the mirrored section. But then you are the guy who does coding...
Little annoyances:
  • it is not possible to measure an existing edge line because LDPE prevents creation of a distance meter on top of an edge line.
  • The "move adjacent data" button is now much too volatile. I know I have been caught many times previously because I inadvertantly left it on, but now it's a pain because you can't move something in 2 directions without clicking on the button again for the second direction!
(2016-08-04, 12:34)Philippe Hurbain Wrote: [ -> ]... The "move adjacent data" button is now much too volatile.

Yes. I don't like it. I have to click it all the time....
(2016-08-04, 15:46)Magnus Forsberg Wrote: [ -> ]
(2016-08-04, 12:34)Philippe Hurbain Wrote: [ -> ]... The "move adjacent data" button is now much too volatile.

Yes. I don't like it. I have to click it all the time....

I am working on it. I will fix this with the release of version 0.8.21.
(2016-08-04, 12:34)Philippe Hurbain Wrote: [ -> ]Little annoyances:
  • it is not possible to measure an existing edge line because LDPE prevents creation of a distance meter on top of an edge line.

The issue was fixed (#401).
I had to adapt it for angle protractors (on top of triangles), too.
(2016-08-03, 21:04)Nils Schmidt Wrote: [ -> ]
Quote:* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/120 gets high priority
* As a user I'd like that issue https://github.com/nilsschmidt1337/ldpar...issues/118 gets high priority

Well, as a product owner, I am in control of the backlog. I will decide when issue #120 and issue #118 will be fixed... not you, Willy Smile

50 issues are open.
I closed in total 348 issues, implemented 156 features and fixed 185 bugs on my own (LDPE has about 115.000 lines of code).
I have to set my priorities to continue the good and solid work on this project.

Instead of spamming new buttons on the GUI, I should provide options to make the GUI more customizable and I really should write more text on the wiki.
Every significant change to the GUI makes it harder to plan my wiki writing tasks... I need up-to-date screenshots from the GUI for the wiki.

Nils,

there is no question about it. I simply didn't understand why some requests we post here on an almost daily basis get done in the wink of an eye while some pile up in the backlog ;-)

w.