[Projekt] Mein STL-Viewer

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.

Re: [Projekt] Mein STL-Viewer

Beitragvon NytroX » 25.12.2017, 20:12

Wow, stimmt. Ist mir noch nie so wirklich aufgefallen!
Das Scrollrad ist eigentlich total "falschrum" in meinem Browser; ist wohl echt Gewöhnungssache.
Eine Option fürs Vertauschen zu haben ist wirklich was Wert, das muss ich bei meiner nächsten GUI unbedingt auch beachten und einbauen.

Und +1 für deine Homepage, keine Cookies, keine Werbung, kein Mist, aber trotzdem SSL; genau alles richtig gemacht.

STL geht glaube ich auch in Assimp; ist das deine Implementierung? (oder wird deine Arbeit da mit einfließen?)
NytroX
Establishment
 
Beiträge: 135
Registriert: 03.10.2003, 12:47

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 25.12.2017, 23:28

Ich kannte das Problem schon von der Arbeit (auch da wird regelmäßig gestritten, ob Mausrad nach oben nun näher rangeht oder weiter weg) und denke, dass Programme da immer einstellbar sein sollten, weil es bei sehr geringen Kosten der Usability einen großen Nutzen erweist.
MasterQ32 hat geschrieben:Word! Das gleiche gilt ja auch für die generelle Scrollrichtung in Browsern, Code Editoren, ...
NytroX hat geschrieben:Wow, stimmt. Ist mir noch nie so wirklich aufgefallen!
Das Scrollrad ist eigentlich total "falschrum" in meinem Browser; ist wohl echt Gewöhnungssache.
Eine Option fürs Vertauschen zu haben ist wirklich was Wert, das muss ich bei meiner nächsten GUI unbedingt auch beachten und einbauen.
Bei 2D-Scrolling in Browser & Co. bekommen die Anwendungen ihre Scrollwerte von der Win32-API. Dort werden sie mit User-Einstellungen vorgekaut. (Ebenso werden ja die Maustasten vorgekaut, falls der User Windows auf Linkshänder eingestellt hat.) Möglicherweise könnt ihr ja was an den Einstellungen drehen, ein Minus davorsetzen oder so. HKCU\Control Panel\Desktop\WheelScrollLines sieht vielversprechend aus, aber YMMV. Falls ihr das weiter besprechen möchtet, können wir einen Thread dafür eröffnen!

NytroX hat geschrieben:Und +1 für deine Homepage, keine Cookies, keine Werbung, kein Mist, aber trotzdem SSL; genau alles richtig gemacht.
Noch einige Fakten dazu:
  • Ich habe null Erfahrung mit der Wartung von Webservern, darum läuft der Server mit Standardeinstellungen von 1&1 und dem gammel-Gratis-Zertifikat, von dem Chrome mich warnt, dass sie es irgendwann 2018 nicht mehr akzeptieren.
  • Cookies und Werbung gibt es nicht; ich habe aber gesehen, dass der Server irgendwo IPs loggt (wahrscheinlich, um Besucher zu zählen).
  • Ich wollte mich mal einarbeiten und den abspecken, aber bisher hatte ich keine Zeit und die Seite ist noch schnell genug.
  • 1&1 hatte in dem Angebot irgendwas von Besuchern pro Minute geschrieben, das ich nicht verstanden habe. Sowas wie „Server hat 500 MB [von was?!], das reicht für 10 Besucher pro Minute“. Bandbreite ist allerdings unbegrenzt. Falls ihr wisst, was das beudetet, oder mal eine Fehlermeldung seht – sagt es mir bitte.
  • In diesem Monat lande ich wohl bei etwa 200 MB Traffic für rund 1000 Besucher. Das passt dazu, dass HTML+Beschreibung+Viewer etwas über 200 KiB groß sind. Bezahlen tue ich dafür 4,99.

NytroX hat geschrieben:STL geht glaube ich auch in Assimp; ist das deine Implementierung? (oder wird deine Arbeit da mit einfließen?)
Schon oben beantwortet:
Krishty hat geschrieben:
Tiles hat geschrieben:Bist du schon in Verhandlungen das in Assimp einzubaun? ^^
Ich habe denen schon länger meine Heuristik geschickt und meine Performance-Kommentare sind ja auch öffentlich; alles andere ist deren Sache ;)
Ich hatte mal in einer Phase aktiv bei Assimp mitgeholfen, aber aktuell finde ich dafür keine Zeit und fürchte auch, dass mein Code nicht tauglich ist, von anderen gewartet zu werden (keine Standardbibliothek/Exceptions/RAII).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 30.12.2017, 03:03

Sooo, nächste Geschichte:

Setups ohne Feedback sind schlecht. In der ersten Version habe ich ein sehr leichtes Setup ausgeliefert, ohne Dialoge:
  • Benutzer startet Setup
  • Benutzer wird nach Admin-Rechten gefragt
  • Fortschrittsbalken taucht für eine Sekunde auf dem Bildschirm auf
  • Setup schließt sich (bei Erfolg) oder zeigt eine Fehlermeldung (bei Problemen)

Das war offensichtlich zu wenig, denn mehrere Benutzer haben gedacht, das Setup wäre einfach abgestürzt.

Ich habe dann versucht, einen Abschlussdialog einzubauen. In Wix geht das aber nicht so einfach; wenn man den Dialog nicht komplett selber als DLL programmieren möchte, muss man sich für ein Setup-Template entscheiden. Das kleinste Template mit Abschlussdialog ist das, das auch eine Lizenz beim Start anzeigt.

Nun ist mein Setup 200 KiB groß statt 70, und zeigt am Anfang die Lizenz an, obwohl ich das eigentlich gar nicht möchte. Aber die Benutzer sind zufrieden. (Ich kann das völlig nachvollziehen; ich bin nur sauer, dass Wix keine Setup-Templates ohne Bloat anbietet.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Helmut » 30.12.2017, 14:57

Also als ich mal einen Installer mit WIX gemacht habe, habe ich wirklich sehr sehr lange gebraucht, um einigermaßen alles ans Laufen zu kriegen. Aber der Abschlussdialog war nicht das Problem (eher die Checkbox, um das Programm optional direkt zu starten).
Hier ist der relevante Code dazu, falls dir das hilft:
Code: Ansicht erweitern :: Alles auswählen
<UIRef Id="WixUI_Minimal" />
<!-- <UIRef Id="WixUI_ErrorProgressText" /> -->
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="The gadgets have been successfully installed. To add a gadget, simply right-click on the desktop and select Gadgets." />
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT2" Value="You can also download gadgets from the internet and run them (.gadget extension). But make sure you trust the source, as they can contain viruses or trojans." />

<CustomAction Id="LaunchApplication" FileKey="_8GadgetPack.exe" ExeCommand="-firstrun" Execute="immediate" Impersonate="yes" Return="asyncNoWait" />
<UI>
<Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT</Publish>
</UI>
Helmut
Establishment
 
Beiträge: 227
Registriert: 11.07.2002, 15:49
Wohnort: Bonn

Re: [Projekt] Mein STL-Viewer

Beitragvon Psycho » 30.12.2017, 16:57

Gut gemacht Krishty!

Hast Du Überlegungen, den Quelltext ebenfalls zu veröffentlichen?
Psycho
Establishment
 
Beiträge: 134
Registriert: 16.09.2002, 14:23

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 30.12.2017, 20:27

Klar – wer interessiert ist, kann sich melden und kriegt eine PM :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon MasterQ32 » 01.01.2018, 12:10

Noch zwei Verbesserungsvorschläge:

- Kann man sich die aktuelle Modellgröße in Polygonen anzeigen lassen?
- Es wäre praktisch, mehrere Modelle laden zu können und somit als einen Merge anzeigen zu lassen
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 1007
Registriert: 07.10.2012, 14:56

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 01.01.2018, 12:44

Das mit dem Merge ist eine gute Idee; sowas schwebt mir auch schon länger im Kopf rum – Dual Extruders (also zwei verschiedenfarbige Plastikstränge für zweifarbige Drucke) werden immer häufiger, und die Daten liegen dann meist als zwei STLs vor. Die gemeinsam anzuzeigen wäre toll.

Das mit der Anzahl der Polygone ist IMHO Feature Creep – hat auf den Druck oder die Gültigkeit der Datei keinen nennenswerten Einfluss.

Als nächstes kommt erstmal eine Drahtgitteransicht (habe schon eine Testversion online; Links via PM).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon kimmi » 01.01.2018, 16:55

Beeindruckende Ladezeit, Kompliment von mir! Ich würde auch gerne mehr deiner Tipps bei assimp mit einfließen lassen, aber dafür bräuchte ich dringendst einen Tag mit 36 Stunden. Nebst Kindern und Job bleibt nicht immer die Zeit, die man benötigt, um all sowas hinzukriegen. Schade eigentlich. Um so schöner zu sehen, wie cool dein Tool performed!

Gruß Kimmi
Benutzeravatar
kimmi
Kim Kulling
Moderator
 
Beiträge: 1378
Registriert: 26.02.2009, 10:42
Wohnort: Luebeck

Re: [Projekt] Mein STL-Viewer

Beitragvon kimmi » 01.01.2018, 18:21

Das ist wirklich schnell!
Benutzeravatar
kimmi
Kim Kulling
Moderator
 
Beiträge: 1378
Registriert: 26.02.2009, 10:42
Wohnort: Luebeck

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 01.01.2018, 19:46

Ja; ich wurde gerade eben gefragt, noch andere Programme zu testen. Darunter fstl, den „fastest STL Viewer“. Der ist tatsächlich *viel* schneller als die anderen Programme (ich habe meine Seite entsprechend aktualisiert), braucht für Binärdateien aber noch fast doppelt so lang wie ich.

Für ASCII-Dateien braucht er sogar 10-Mal so lang. Da sind die meisten anderen Programme sowieso fast um den Faktor 100 langsamer als ich; aber das kann ich ja nicht hinschreiben, glaubt mir doch keiner …

Geschlagen werde ich im RAM-Verbrauch. Das liegt zum einen daran, dass ich Farben unterstütze (fstl & Co nicht) und zum anderen daran, dass ich die Normalenvektoren aus der Datei verwende, statt sie im Geometry Shader neu zu berechnen, weil ich halt zeigen möchte, wie die Datei ist statt wie sie sein sollte. (Das ist hoffentlich eine ausreichende Entschuldigung, aber ich schaue mal, ob ich’s irgendwann optimiert kriege.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 04.01.2018, 22:29

Krishty hat geschrieben:
Ich kannte das Problem schon von der Arbeit (auch da wird regelmäßig gestritten, ob Mausrad nach oben nun näher rangeht oder weiter weg) und denke, dass Programme da immer einstellbar sein sollten, weil es bei sehr geringen Kosten der Usability einen großen Nutzen erweist.
MasterQ32 hat geschrieben:Word! Das gleiche gilt ja auch für die generelle Scrollrichtung in Browsern, Code Editoren, ...
NytroX hat geschrieben:Wow, stimmt. Ist mir noch nie so wirklich aufgefallen!
Das Scrollrad ist eigentlich total "falschrum" in meinem Browser; ist wohl echt Gewöhnungssache.
Eine Option fürs Vertauschen zu haben ist wirklich was Wert, das muss ich bei meiner nächsten GUI unbedingt auch beachten und einbauen.
Bei 2D-Scrolling in Browser & Co. bekommen die Anwendungen ihre Scrollwerte von der Win32-API. Dort werden sie mit User-Einstellungen vorgekaut. (Ebenso werden ja die Maustasten vorgekaut, falls der User Windows auf Linkshänder eingestellt hat.) Möglicherweise könnt ihr ja was an den Einstellungen drehen, ein Minus davorsetzen oder so. HKCU\Control Panel\Desktop\WheelScrollLines sieht vielversprechend aus, aber YMMV. Falls ihr das weiter besprechen möchtet, können wir einen Thread dafür eröffnen!
Scheißdreck. Ich habe den Schlüssel von 3 auf -3 gesetzt und nach dem Neustart gemerkt, dass mein Mausrad gar nicht mehr funktioniert. Also lasst die Finger davon. Vielleicht lieber was hooken …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 12.01.2018, 23:11

Helmut hat geschrieben:Also als ich mal einen Installer mit WIX gemacht habe, habe ich wirklich sehr sehr lange gebraucht, um einigermaßen alles ans Laufen zu kriegen. Aber der Abschlussdialog war nicht das Problem (eher die Checkbox, um das Programm optional direkt zu starten).
Hier ist der relevante Code dazu, falls dir das hilft:
Code: Ansicht erweitern :: Alles auswählen
<UIRef Id="WixUI_Minimal" />
<!-- <UIRef Id="WixUI_ErrorProgressText" /> -->
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="The gadgets have been successfully installed. To add a gadget, simply right-click on the desktop and select Gadgets." />
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT2" Value="You can also download gadgets from the internet and run them (.gadget extension). But make sure you trust the source, as they can contain viruses or trojans." />

<CustomAction Id="LaunchApplication" FileKey="_8GadgetPack.exe" ExeCommand="-firstrun" Execute="immediate" Impersonate="yes" Return="asyncNoWait" />
<UI>
<Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT</Publish>
</UI>
Danke, Helmut! Ich bin endlich dazu gekommen, das auszuprobieren – und es geht nicht :( Ich habe es auch mit kleinen Änderungen nicht ans Laufen gekriegt, aber mittlerweile gibt es offizielle Dokumentation und mit deren Beispiel-Code funktioniert es endlich. Ist natürlich wieder hässlich und unter aller Sau, aber WiX eben …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 13.01.2018, 01:33

Okay, eine aktualisierte Version ist raus: https://papas-best.com/stlviewer_de
solid outline.png

  • kann Dateien nun auch als Wireframe oder als Solid Outline anzeigen (F5, F6, F7 oder über das View-Menü)
  • Namen in ASCII-STLs sind nicht mehr vertauscht
  • Farben in Meshmixer-STLs sind nicht mehr vertauscht
  • ASCII-STLs ohne endsolid-Schlüsselwort laden jetzt
  • Setup startet das Programm auf Wunsch direkt
  • drei Crashes behoben (ich habe ein Audit der Laderoutinen und großer Teile der UI gemacht – einige Teile stehen aber noch aus; ich werde sicher noch ein halbes Dutzend Lücken finden)
Noch was für die Entwickler:

Meine 32-Bit-Version wird nun kaum noch als Virus eingeschätzt (auf Virustotal nur noch von drei aus 67 Programmen). Dafür wird die 64-Bit-Version erstmals als Virus eingeschätzt – ausgerechnet von Avast und AVG mit großer Verbreitung (die schon ein Dutzend False Positive Reports von mir haben). Das wird mir mindestens zehn Anfragen besorgter User bescheren. Antivirenprogramme sind ein Scheiß ohnegleichen; der Schrott gehört schlicht verboten.

(In meiner TODO für Release stehen als Schritte vor dem Upload https://www.avast.com/false-positive-file-form.php und https://www.avg.com/submit-sample , SO HÄUFIG passiert das. Ich vermute auch, dass beide die selbe Engine nutzen.)

Falls ihr sonst noch Patzer findet, lasst es mich wissen …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6141
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: [Projekt] Mein STL-Viewer

Beitragvon Chromanoid » 13.01.2018, 02:08

Danke für die interessanten Infos! Schon mal überlegt den Upload zu automatisieren? :/ Boah da ist ja nen Captcha... Das würde mich total mürbe machen.
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3644
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

VorherigeNächste

Zurück zu Vorstellungsbereich

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot] und 2 Gäste

cron