tcobbs / ldview Goto Github PK
View Code? Open in Web Editor NEWReal-time 3D viewer for displaying LDraw models
Home Page: https://tcobbs.github.io/ldview/
License: GNU General Public License v2.0
Real-time 3D viewer for displaying LDraw models
Home Page: https://tcobbs.github.io/ldview/
License: GNU General Public License v2.0
See Help.html for instructions on how to use the program. See ChangeHistory.html for a list of changes made in each version that has been released. See license.txt and license2.txt for license information. You may choose either license (GPLv2 or MIT).
It would be great if the Q and E keys would "lean" the camera as if you were leaning around a corner in Walk mode. Thanks!
My mouse wheel can be tilted to either side. Can I map this mouse function to a camera control? Maybe it could already come mapped by default? Thanks.
This didn't used to be the case, although I'm not sure which was the last release that didn't have the issue.
If any form of face highlighting is enabled, rendering speed drops dramatically for all but the simplest models/parts. It also drops off as you zoom into the model.
Interestingly, disabling BFC entirely runs much much faster.
The Generated By line in the POV file has the copyright, but not the application version. Definitely for Windows and Mac, probably for Qt.
Works well with Qt4.x
With Qt5 only existing files can be selected.
The dialogs that are summoned when exporting or saving don't allow you to enter a filename; you can only select existing files in the folder and overwrite them. If there are no files of the required filetype, the Save/Export button remains greyed out.
Operating system is Arch Linux x86-64, desktop is GNOME 3.28.2, LDView is 4.3.
manually executing ldraw-thumbnailer as specified within the ldview.thumbnailer file for linux based systems fails.
Shouldn't the thumbnailer use the osmesa version instead?
Thanks for looking into it.
Current output:
_ $ ldraw-thumbnailer %u %o %s
X Error: GLXBadContext 169
Extension: 155 (Uknown extension)
Minor opcode: 6 (Unknown request)
Resource id: 0x340001a
X Error: BadValue (integer parameter out of range for operation) 2
Extension: 155 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id: 0x0
X Error: GLXBadContext 169
Extension: 155 (Uknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x340001a
X Error: 0 0
Extension: 155 (Uknown extension)
Minor opcode: 26 (Unknown request)
Resource id: 0x0
QGLContext::makeCurrent(): Failed.
X Error: GLXBadContext 169
Extension: 155 (Uknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x340001a
X Error: 0 0
Extension: 155 (Uknown extension)
Minor opcode: 26 (Unknown request)
Resource id: 0x0
QGLContext::makeCurrent(): Failed.
/usr/bin/ldraw-thumbnailer: line 20: 12673 Segmentation fault /usr/bin/LDView "$input" -SaveSnapshot=$output.png -CheckPartTracker=0 -SaveWidth=$size -SaveHeight=$size -ShowErrors=0 -SaveActualSize=0
It appears that stud logos override the !TEXMAP command here.
When I try to use SaveSnapshot option the command crashes (Segmentation Fault). Interestingly problem appears only when using command line (I can export from GUI just fine).
Example command:
./LDView -v desin.ldr -SaveSnapshot="design.png"
I tried running it under gdb and it seems that it crashes on this line: https://github.com/tcobbs/ldview/blob/master/LDLib/LDSnapshotTaker.cpp#L1521
Is it a known issue? Could it have something to do with this stuff 4f6209d ?
Version: current master (42bb3c5)
OS: Arch Linux
Printing is reported to be broken (blank page) in Big Sur.
The current LDView release does not use standard gtk open/save dialog. Being able to access shortcuts and recently used files/folders would greatly improve the overall user experience if implemented.
Other Qt-based applications, such as LeoCAD have implemented the use of that dialog.
Could it possibly be done?
Current Dialog:
Thank you
When you change the edge line thickness, the model used to highlight the selection in the model tree doesn't get regenerated, so continues to draw with the previous edge thickness.
The latest LDView codebase fails to translate unicode character ö. This behaviour has been present for quite some time. This thread on the LDraw forum illustrates the behaviour: LPub3D - Submodel not shown in main model.
When attempting to render an image at the following path: "C:\Users\Trevor\Desktop\LPub\JörgSchwarzländer\LPub3D\tmp\001_gearbox_00.ldr"
...
The latest release build works as expected:
However, a build from the latest source fails with the following messages:
The following shots show the root of the problem. The ConvertUTF16toUTF8 function fails to convert the unicode character in the switch statement beginning at line 269 in ConvertUTF.c.
Here the conversion starts with a valid 'src' path
Here we see the path conversion is ok up to J
...
At the ö
character, garbage is returned.
The conversion completes with the following return:
Cheers,
Currently, there is a point where you can no longer zoom in the camera in Examine mode. Could you add an option somewhere to disable this so I can zoom all the way to the center? I have a very wide but short model which does not work well with the default behavior. Thanks.
I just updated LDView 4.2 to LDView 4.3 and I noticed that the Windows UI has changed.
For example take a look at this image in LDView 4.2 I took yesterday for an (unrelated) LPub3D issue:
This is how it now looks in LDView 4.3:
It looks more Windows XP'ish instead of Windows 7/10 ish. And it's not just there, the whole UI has gone backwards. Dialogs, toolbars, etc.
I'm using Windows 10 Pro 64 bit with LDView 4.3 64 bit.
For very, very large models, the forward/backward movement of the camera is too fast in fly-through mode.
I mean the W and S keys. The mouse wheel is fine. Smaller models are fine too. It is just the super large models that are the problem.
This appears to be a recent change, as it was working in 4.3. I've tested with a clean checkout of the current development code, and filenames with the characters '×' (hex 0xD7) and 'é' (hex 0xC3) do not get thumbnailed. Removing the characters resolves the issue.
When I zoom really close to an object, the object and everything near it gets clipped by the clipping plane. Is there a way to set the distance of this plane to some smaller amount (or disable it)? Thanks.
Hi there, i misunderstood the setting -SaveAlpha (alpha channel of a png file), sorry for that. I thought it had s.th. to do with the "General/Colors" Section checkbox "Transparent".
So my feature request would be to have a command line parameter implemented for the "Transparent" checkbox under "General/Colors", similar to "DefaultColor3" and "BackgroundColor3".
What do you think?
Thanks for your great work and sorry again for my confusion.
Hi there.
Thanks for making this repo available!
I am trying to run LDView on Ubuntu 16.04 (below in Docker to show that it is a clean install of Ubuntu):
docker run -it --rm ubuntu:16.04 /bin/bash
apt update -yqq && apt install -yqq curl unzip apt-utils
curl http://downloads.sourceforge.net/ldview/ldview-4.2-ubuntu-16.04.amd64.deb?download -L -o ldview-4.2-ubuntu-16.04.amd64.deb
dpkg -i ldview-4.2-ubuntu-16.04.amd64.deb
apt-get install -f
The last command terminates with this error: Errors were encountered while processing: ldview E: Sub-process /usr/bin/dpkg returned an error code (1)
Any ideas on how to mitigate this? Here is more of the trace:
Setting up libmysqlclient20:amd64 (5.7.32-0ubuntu0.16.04.1) ...
Setting up qtchooser (52-gae5eeef-2build1~gcc5.2) ...
Setting up qdbus (4:4.8.7+dfsg-5ubuntu2) ...
Setting up libqt4-dbus:amd64 (4:4.8.7+dfsg-5ubuntu2) ...
Setting up libqt4-sql-mysql:amd64 (4:4.8.7+dfsg-5ubuntu2) ...
Setting up libqtgui4:amd64 (4:4.8.7+dfsg-5ubuntu2) ...
Setting up libqt4-opengl:amd64 (4:4.8.7+dfsg-5ubuntu2) ...
Setting up gconf-service (3.2.6-3ubuntu6) ...
Setting up dh-python (2.20151103ubuntu1.2) ...
Setting up python3 (3.5.1-3) ...
running python rtupdate hooks for python3.5...
running python post-rtupdate hooks for python3.5...
Setting up qt-at-spi:amd64 (0.4.0-3) ...
Setting up libqt4-declarative:amd64 (4:4.8.7+dfsg-5ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up ldview (4.2) ...
/var/lib/dpkg/info/ldview.postinst: 4: /var/lib/dpkg/info/ldview.postinst: update-desktop-database: not found
dpkg: error processing package ldview (--configure):
subprocess installed post-installation script returned error exit status 127
Processing triggers for libc-bin (2.23-0ubuntu11.2) ...
Processing triggers for systemd (229-4ubuntu21.29) ...
Processing triggers for sgml-base (1.26+nmu4ubuntu1) ...
Errors were encountered while processing:
ldview
E: Sub-process /usr/bin/dpkg returned an error code (1)
Hi Travis - I compiled an OSMesa-CUI for MacOSX. All seems well except I get this error message (but successful result) because if (!TCUserDefaults::isIniFileSet())
link returns false when, in fact, it should return true because my IniFile is specified on the command line.
After some debugging, I tracked down the fault to virtual void addItem(Type newItem)
link. This function is called by int TCStringArray::addString(const char* newString)
link and I can verify the argv IniFile string is received by addString(const char* newString)
and passed to addItem(Type newItem)
; however, the string is never received by and, as a consequence, is not passed to virtual void insertItem(Type newItem, unsigned int index = 0)
link. While the IniFile string (or any strings in argv for that matter) is not received by insertItem(Type newItem, unsigned int index = 0)
, The TCArray<void*>::argArray object's 'allocated' and 'count' attributes are properly updated. The 'items' attribute remains null however because there is not 'newItem' to insert.
As there is no string in items, const char *iniFile = defCommandLineStringForKey("IniFile")
link returns NULL so setIniFile(iniFile)
link is never executed.
As addItem(Type newItem)
is of type virtual void, perhaps this behaviour may be related to the changes from back in 2008 in Change TCArray to be templated, to allow TCTypedValueArray to be ported to 64 bit (which wasn't possible with the void*-based TCArray).
What do you think?
Cheers,
It does not "check" the Transparency box, the rendered image is always not transparent.
Could you make the movement speed in "Walk" mode adjustable? Sometimes it is too slow, other times it is too fast. It is especially frustrating when I am not getting a good FPS and am trying to navigate tight hallways.
Do you have leftover keyboard bindings to increase/decrease the speed? Maybe PageUp and PageDown? Thanks.
Hi there.
Thanks for making this repo available!
I am trying to run LDView on Ubuntu 16.04 (below in Docker to show that it is a clean install of Ubuntu):
docker run -it --rm ubuntu:16.04 /bin/bash
apt update -yqq && apt install -yqq curl unzip apt-utils desktop-file-utils xvfb locales
locale-gen en_US.UTF-8
curl http://downloads.sourceforge.net/ldview/ldview-4.2-ubuntu-16.04.amd64.deb?download -L -o ldview-4.2-ubuntu-16.04.amd64.deb
dpkg -i ldview-4.2-ubuntu-16.04.amd64.deb
apt-get install -f
xvfb-run -e error.log -a LDView ldraw/parts/73436.dat -ExportFile=MyModel.pov
The last command prints and hangs with this message: Failed to load translation en
Any ideas on how to mitigate this? How long should converting a part simple part from Ldraw take? I'm running with 61 GB RAM and 1 Nvidia K80 GPU.
Thanks!
I'm trying to take a series of snapshots of a model with different angles from the command line and tried to use the following command:
./LDView 3002.dat -DefaultLatitude=10 -DefaultLongitude=10 -SaveSnapshot=test.png
./LDView 3002.dat -DefaultLatitude=10 -DefaultLongitude=10
works fine but not with -SaveSnapshot..
Is this the preferred way of usage or is there a different way to achieve a series of snapshots from different angles using the command line?
OS: MacOS
This is more of a "meta" project issue.
It's not well advertised that LDView development and releases have moved here from SourceForge. I almost didn't know that more recent versions exists, except by a bit of random searching I did mostly after the fact.
The ldraw.org website also points at the older SourceForge site: https://wiki.ldraw.org/wiki/LDView (I tried to update it myself, but the change was rejected). I sent a follow up email to the webmaster of ldraw.org, but I can't do anything about SourceForge.
Love the project! Amazing work. Wouldn't want others to miss out.
Could you maybe add a popup dialog listing the number of quads, tris, vertices, parts, sub-models, lines of different types, etc. etc.? Thanks!
Hi,
I'm trying to run OSMesa version on Debian Buster (both self compiled and installed form deb package, 4.3 and 4.4) and I keep getting following error message.
OSMesa not working!
viewport: 0, 0, 0, 0
Everything works as espected when I try to run ldview on Debian Stretch, Ubuntu 21.04 or Alpine.
Any ideas where the problem might be? Corrupted libosmesa on Debian Buster? (I am trying with debian:buster-slim
)
You have two stereo modes already. Could you add an anaglyph mode? I have red/blue 3D glasses and would like to make use of them.
Currently trying to build from Git source and get these errors:
ldview (osmesa)
^
cd .obj-osmesa; g++ -o ../Headerize Headerize.o -L../../TCFoundation -L../../TRE -L../../LDLoader -L../../LDLib -L../../LDExporter -L/usr/X11R6/lib -L../TCFoundation -lTCFoundation-osmesa -ljpeg -lpng -lz
./Headerize ../Textures/StudLogo.png
./Headerize ../LDViewMessages.ini
g++ -o .obj-osmesa/ldview.o -Wall -D_GNU_SOURCE -O3 -D_OSMESA -D_NO_BOOST -I.. -I../include -c ldview.cpp
ldview.cpp:16:23: fatal error: GL/osmesa.h: No such file or directory
#include <GL/osmesa.h>
^
compilation terminated.
ldview (qt)
g++ -m64 -Wl,-O1 -o LDView .obj/QTMain.o .obj/ModelViewerWidget.o .obj/Preferences.o .obj/LDViewErrors.o .obj/LDViewExtraDir.o .obj/AlertHandler.o .obj/LDViewSnapshotSettings.o .obj/LDViewPartList.o .obj/misc.o .obj/LDViewJpegOptions.o .obj/LDViewModelTree.o .obj/LDViewBoundingBox.o .obj/LDViewMainWindow.o .obj/LDViewLatitudeLongitude.o .obj/LDViewMpdModel.o .obj/LDViewExportOption.o .obj/LDViewCustomizeToolbar.o .obj/moc_ModelViewerWidget.o .obj/moc_Preferences.o .obj/moc_LDViewErrors.o .obj/moc_LDViewExtraDir.o .obj/moc_LDViewPartList.o .obj/moc_LDViewJpegOptions.o .obj/moc_LDViewSnapshotSettings.o .obj/moc_LDViewModelTree.o .obj/moc_LDViewLatitudeLongitude.o .obj/moc_LDViewMpdModel.o .obj/moc_LDViewExportOption.o .obj/moc_LDViewMainWindow.o .obj/moc_About.o .obj/moc_LDViewCustomizeToolbar.o .obj/qrc_resources.o -L/usr/X11R6/lib64 -L/usr/lib/x86_64-linux-gnu -L../TCFoundation -L../LDLib -L../LDLoader -L../TRE -L../boost/lib -lLDraw -L../LDExporter -lLDLoader -lTRE -lTCFoundation -lz -ljpeg -lpng -lGLU -lgl2ps -lLDExporter -ltinyxml -L../lib -l3ds-64 -lboost_thread -lboost_system -lpthread -lGL -lQtOpenGL -lQtGui -lQtCore
/usr/bin/ld: cannot find -lboost_thread
/usr/bin/ld: cannot find -lboost_system
collect2: error: ld returned 1 exit status
Makefile:163: recipe for target 'LDView' failed
make: *** [LDView] Error 1
Libraries are seemingly installed and present on the system before build.
Version: ldview-0-Build987.1.glibc2.14-x86_64.AppImage
$ ./ldview-0-Build987.1.glibc2.14-x86_64.AppImage
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: LDView: no version information available (required by LDView)
LDView: relocation error: LDView: symbol , version not defined in file with link time reference
Thanks for trying out the new OBS AppImage capabilities.
Currently the AppImage does not work on a system which does not already have ldview installed in the system:
me@host:~$ /home/me/Downloads/ldview-0.glibc2.14-x86_64.AppImage
Could not find LDViewMessages.ini file.
Please copy this file to /usr/share/ldview directory.
This is because the AppImage is mounted to a temporary location and not to /usr
.
On a local machine (this is not what you should do on OBS as it is just a proof-of-concept):
/home/me/Downloads/ldview-0.glibc2.14-x86_64.AppImage --appimage-extract
cd squashfs-root/
rm AppRun
wget https://github.com/probonopd/AppImageKit/releases/download/continuous/AppRun-x86_64 -O AppRun
chmod a+x AppRun
find usr/ -type f -exec sed -i -e 's|/usr|././|g' {} \;
cd ..
wget https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod a+x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage squashfs-root/
./LDView-x86_64.AppImage # Works
Change the source code so that the path to the share/ldview
directory is determined relative to bin/ldview
rather than as an absolute path, in order to allow for binary relocateability.
Report on ldraw.org from Philo:
As far as I can tell, there is a file path problem: 4.4 doesn't seem to find referred parts or subparts lying in the same folder or path relative folder.
It would be nice if we could start and stop recording of the camera movement path and either play it back or export it to a POV-Ray script. Thanks!
[ed]
This is a low priority feature request.
Greetings
Tried to use the command line to export some pov files and i am getting a seg fault on ubuntu 18.04
LDVIew is build from source without any errors and works fine when i enter the GUI to export the files
I run GDB and here is what i get
gdb --args /usr/bin/LDView 3010.ldr -ExportFile=3010.pov
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/LDView...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/LDView 3010.ldr -ExportFile=3010.pov
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe92d4700 (LWP 4555)]
[New Thread 0x7fffe8ad3700 (LWP 4556)]
[New Thread 0x7fffe3fff700 (LWP 4557)]
[New Thread 0x7fffe37fe700 (LWP 4558)]
Thread 1 "LDView" received signal SIGSEGV, Segmentation fault.
tcache_get (tc_idx=3) at malloc.c:2943
2943 malloc.c: No such file or directory.
(gdb)
could it be similar to #14 ?
A user requested the ability to manually set the X/Y/Z values for the center of rotation. (In other words, a UI for the already existing ModelCenter setting.)
It would be nice if camera movement were faster in walk mode when holding the shift key. Thanks.
ldview_gl_info.txt
AA settings have no effect when toggled.
I've attached a comparison shot in between leocad (with functioning AA) and LDView (with AA setting enabled but not functioning).
I've also attached the gl_info for my current setup.
Thanks
In the latest codebase, when a snapshot suffix is not specified, e.g. when exporting a part list, an invalid null pointer exception is thrown.
It seems like the UCSTR snapshotSuffixTemp
pointer is not checked for null before assignment to snapshotSuffix
.
This update seems to correct the unexpected behaviour.
Cheers,
There is a slight jiggle after rotating the camera in walk mode. It is kind of annoying. I think it would be better if camera rotation used azimuth and altitude in walk mode like in a first-person shooter video game, thereby eliminating the jiggle. Thanks!
If you select a whole part in the model, the part's edges don't get highlighted. If you select box5.dat, sometimes they highlight, and sometimes they don't. If you select 4-4edge.dat, they don't highlight. I'm pretty sure edges should ALWAYS highlight.
0 BFC CERTIFY CCW
0 !TEXMAP START PLANAR -100 200 0 100 200 0 -100 0 0 sample.png
0 BFC INVERTNEXT
1 16 00 0 0 -100 0 0 0 200 0 0 0 -100 2-4cyli.dat
0 !TEXMAP END
The BFC INVERTNEXT statement in the above code isn't processed correctly:
Additionally, selecting 'edges only' does not disable the texmaps
Hi,
I am using xUbuntu 20.04 and have some problems building LDview.
$ qmake --version
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu
When doing make:
$ make
...
g++ -o LDView .obj-qt5/QTMain.o .obj-qt5/ModelViewerWidget.o .obj-qt5/Preferences.o .obj-qt5/LDViewErrors.o .obj-qt5/LDViewExtraDir.o .obj-qt5/AlertHandler.o .obj-qt5/LDViewSnapshotSettings.o .obj-qt5/LDViewPartList.o .obj-qt5/misc.o .obj-qt5/LDViewJpegOptions.o .obj-qt5/LDViewModelTree.o .obj-qt5/LDViewBoundingBox.o .obj-qt5/LDViewMainWindow.o .obj-qt5/LDViewLatitudeLongitude.o .obj-qt5/LDViewMpdModel.o .obj-qt5/LDViewExportOption.o .obj-qt5/LDViewCustomizeToolbar.o .obj-qt5/SnapshotTaker.o .obj-qt5/SnapshotAlertHandler.o .obj-qt5/qrc_resources.o .obj-qt5/moc_ModelViewerWidget.o .obj-qt5/moc_Preferences.o .obj-qt5/moc_LDViewErrors.o .obj-qt5/moc_LDViewExtraDir.o .obj-qt5/moc_LDViewPartList.o .obj-qt5/moc_LDViewJpegOptions.o .obj-qt5/moc_LDViewSnapshotSettings.o .obj-qt5/moc_LDViewModelTree.o .obj-qt5/moc_LDViewLatitudeLongitude.o .obj-qt5/moc_LDViewMpdModel.o .obj-qt5/moc_LDViewExportOption.o .obj-qt5/moc_LDViewMainWindow.o .obj-qt5/moc_About.o .obj-qt5/moc_LDViewCustomizeToolbar.o -L../TCFoundation -L../LDLib -L../LDLoader -L../TRE -L../boost/lib -lLDraw-qt5 -L../LDExporter -lX11 -lLDLoader-qt5 -lTRE-qt5 -lTCFoundation-qt5 -lz -ljpeg -lpng -lGLU -lgl2ps -lLDExporter-qt5 -ltinyxml -L../lib -l3ds -lpthread /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so
/usr/bin/ld: skipping incompatible ../lib/lib3ds.a when searching for -l3ds
/usr/bin/ld: ../LDExporter/libLDExporter-qt5.a(LD3dsExporter.o): in function `LD3dsExporter::doExport2(LDLModel*, Lib3dsNode*, float const*, int, bool, bool, bool)':
/home/nine/ldview/LDExporter/LD3dsExporter.cpp:325: undefined reference to `lib3ds_mesh_resize_vertices'
/usr/bin/ld: /home/nine/ldview/LDExporter/LD3dsExporter.cpp:328: undefined reference to `lib3ds_mesh_resize_faces'
I poked around and found the issue is linker trying to link with lib3ds.a instead of lib3ds-64.a
Using some message on Ldview.pro I printed the values of QT_ARCH and QMAKE_PLATFORM on identifier unix :
QT_ARCH: x86_64
QMAKE_PLATFORM: linux unix posix
So I did a change on LDView.pro :
diff --git a/QT/LDView.pro b/QT/LDView.pro
index 6a7d00c8..8026b560 100644
--- a/QT/LDView.pro
+++ b/QT/LDView.pro
@@ -329,7 +329,7 @@ unix {
exists(../boost/lib/libboost_thread.a){
BOOSTLIB = ../boost/lib/libboost_thread.a
}
- linux-g++-64{
+ contains(QT_ARCH, "x86_64") {
contains(DEFINES,EXPORT_3DS) {
LIBS += -l3ds-64
}
I don't have a 32 bit machine to validate if this has impact or not and I find strange only happen to me.
I am using only command lines to build qmake LDView.pro && make.
From Steffen on forums.ldraw.org:
I was double-checking some problem I had with camera location and lookat export to POVRay.
The problem I am suspecting is that the camera location shifting which can be done by CTRL+Mousedrag
does not make it into the POVRay export. During that I wanted to confirm that the camera location export
to clipboard (menu: "Tools" / "Show View Info...") works correctly. And voila:
there the same problem occurs: if you shift the camera by CTRL-Mousedrag, this change is not reflected in the camera data which is copied to
the clipboard. I was able to reproduce this bug also in the currently official release 4.3.
The program already allows users to set the camera lat/long/radius positions. I think it would also be nice to be able to set the XYZ coordinates of the camera, as well as viewing angles and FOV. Thanks!!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.