Jump to content

Plugin-Wunsch "Zufall"


Empfohlene Beiträge

Hallo,

... na ja.... einen hab ich noch... was mir keine Ruhe gelassen hat, war noch die Möglichkeit, die Grundfiguren Ellipse und Rechteck um ihren Mittelpunkt drehbar zu machen... 

... noch in der Oberfläche hinzugekommen "Ellipse, Rechteck um Mitteplunkt drehen" (...der mögliche Drehwinkel ist +-90 Grad)
Oberfläche.jpg

.... Ergebnis
Drehung.jpg

... und mal wieder die Fragen an alle:

... noch irgendwelche Anregungen?
...sinnvoll um ein "offizielles" Plugin daraus zu machen?

Gruß
EASY

Zufall_Test2c.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

das wird ja immer besser!

vor 8 Stunden schrieb EASY:

... noch irgendwelche Anregungen?

Ja. Könnte man den optionalen Wirkungsbereich (erste Einstellung) auch noch größer als 1000mm machen?

Und noch ein Wunsch, der wahrscheinlich aber nicht umsetzbar ist: Objekte können nur dort platziert werden, wo kein anderes Objekt steht.

HG

Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

... danke für Rückmeldungen und "gefällt mir"...

@Brummi
... den Bereich erweitern ist kein Problem
... mit den "besetzten" Plätzen habe ich noch eine Idee... bei der ich allerdings erst noch ausprobieren muß, ob sie "praktikabel" ist...

Zitat

@EASY: Das ist die eierlegende Wollmilchsau!

... auch "eierlegende Wollmilchsauen" können noch um ein paar "Funktionen" ergänzt werden9_9...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo easy, sorry, aber mit deinen plugin kann ich leider nichts machen:( ,mir geht es wie roten brummer...bei mir kommt die gleiche Meldung wie bei brummi....ist sehr schaaade,....habe mir die zip runtergeladen, zeigt folgendes: ....

Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
 
************** Ausnahmetext **************
System.UnauthorizedAccessException: Der Zugriff auf den Pfad "C:\WINDOWS\system32\Ini.xml" wurde verweigert.
   bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   bei System.Xml.XmlDocument.Save(String filename)
   bei Zufall_Test2b.Form1.WriteOptionFile()
   bei Zufall_Test2b.Form1.Form1_Load(Object sender, EventArgs e)
   bei System.EventHandler.Invoke(Object sender, EventArgs e)
   bei System.Windows.Forms.Form.OnLoad(EventArgs e)
   bei System.Windows.Forms.Form.OnCreateControl()
   bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   bei System.Windows.Forms.Control.CreateControl()
   bei System.Windows.Forms.Control.WmShowWindow(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.Form.WmShowWindow(Message& m)
   bei System.Windows.Forms.Form.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 

************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1073.0 built by: NETFXREL3STAGE.
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
----------------------------------------
Zufall_Test2b
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Users/wolfi/AppData/Local/Temp/Temp3_Zufall_Test2b.zip/Zufall_Test2b.exe.
----------------------------------------
Microsoft.VisualBasic
    Assembly-Version: 10.0.0.0.
    Win32-Version: 14.6.1055.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1038.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Core
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1055.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1038.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1068.2 built by: NETFXREL3STAGE.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1038.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
System.Configuration
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1038.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Xml
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1064.2 built by: NETFXREL3STAGE.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
mscorlib.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1038.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.6.1055.0 built by: NETFXREL2.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
 
************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
 
Zum Beispiel:
 
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
 
Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt......
 
danke und gruß schlagerfuzzi

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo schlagerfuzzi,

... bei Brummi ließ sich das "Problem" zumindest leicht lösen...

... nun ich bin nicht der Experte... aber für mich sieht es etwas so aus als daß bei Dir .Net Framework nicht oder nicht korrekt installiert ist....
... ist aber nur eine Vermutung...

... vielleicht kann jemand mit mehr Ahnung noch etwas dazu sagen.

P.S. ... da Windows anscheinend manchmal zu doof ist zu entscheiden welche ini.xml es nehmen soll (war das Problem bei Brummi) werde es längerfristig mal mit einem anderen Namen versuchen und die .ini zu einem etwas späteren Zeitpunkt auswerten...

@Alle:
Gibt es noch jemand, der größere Probleme beim Aufruf der .exe hatte? (... auch Programme aus anderen Versuchen)

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Easy,

vor einer Stunde schrieb EASY:

da Windows anscheinend manchmal zu doof ist zu entscheiden welche ini.xml es nehmen soll

Windows ist hier eigentlich recht konsistent. Wenn du eine Datei ohne Pfadangabe öffnest, entscheidet das aktuelle Arbeitsverzeichnis, wo Windows die Datei zuerst sucht. Das Arbeitsverzeichnis kann jedoch variieren, je nachdem, von wo deine Exe gestartet wurde. Aus diesem Grund sollte man wenn möglich immer auf relative Dateinamen verzichten, also immer mit vollen Pfadangaben arbeiten.

Wenn du ein richtiges Plugin entwickelst, übergibt dir das Studio den Pfad zu dem Verzeichnis, in das das Plugin eigene Dateien schreiben kann. Dieses Verzeichnis solltest du immer deinen relativen Pfadangaben voranstellen. Soll dein Plugin auch außerhalb des Studios korrekt arbeiten, solltest du in diesem Fall ein Ausweichverzeichnis wählen, idealerweise unterhalb von "AppData\Local".

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

... Danke für die Info...

... beim "echten" Plugin arbeite ich schon mit dem Verzeichnis aus den Übergabeparametern als (vollständige) Pfadangabe...
... ich werde es für die Versuchsprogramme hier (.exe) noch so anpassen, daß mit vollständigen Pfadangaben gearbeitet wird.

P.S.

Zitat
vor 32 Minuten schrieb Neo:

Windows ist hier eigentlich recht konsistent...

 

... bei Windows ist so einiges "eigentlich [sollte]"... :$ (... konnte ich mir jetzt nicht verkneifen:P...)

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Brimmi,

Zitat
Am 5.4.2016 um 07:12 schrieb Roter Brummer:

Und noch ein Wunsch, der wahrscheinlich aber nicht umsetzbar ist: Objekte können nur dort platziert werden, wo kein anderes Objekt steht.

... es ist im Entstehen... und (wahrscheinlich) geht es dann auch (noch) über mehrere Bodenplatten hinweg...
Bild 1.jpg
...ich muß jetzt allerdings aus dem Chaos im Versuchsprogramm wieder eines machen, bei dem ich selbst wieder durchblicke...

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

... es nähert sich dem Finale...

Neu hinzugekommen:
- Durch andere Objekte belegte Stellen werden ausgespart.
- Das Setzen geht auch (horizontal) über mehrere Bodenplatten hinweg. (Für eindeutige Namen, werden die Bodenplatten vom Programm einfach durchnummeriert.) Bei vertikaler Überlappung wird die oberste Fläche berücksichtigt. Sollen Objekte auf darunterliegende Flächen gesetzt werden, müssen darüberliegende Bodenplatten ausgeblendet werden.
- Der Auswahlbereich wurde auf 2500 mm erweitert und die max. Anzahl pro Setzvorgang auf 250.
- Die "Variation" des Mindestabstandes kann eingestellt werden (-> Verhindern von "exakten" Reihen)
Beispiel hierzu:
... bei Variation=0 (links) sind nur die dargestellten Punkte möglich
... bei Variation=0.5 sind Punkte innerhalb einer gewissen Streuung möglich (je größer der Wert, desto höher die Streuung)
002-Variation.jpg

Hinweis:
Dadurch, daß im Vorfeld "geklärt" werden muß, ob sich innerhalb der Setzfläche schon Objekte befinden, gibt es keine Anzeige mehr für die (theoretische) Anzahl von möglichen Punkten (... durch die "Variation" wäre die Überprüfung mit jeder Einstellungsänderung zu rechenintensiv). Es erfolgt allerdings eine automatische Korrektur, wenn die gewünschte Anzahl die Anzahl von Möglichkeiten überschreitet.
"Neu Verteilen" bezieht sich nur noch auf die aktuelle Fläche... es folgt also nicht mehr einer Standortveränderung vom "Leitobjekt".

Hinweis:
Bei der Berechnung von großen Flächen, dann die Rechenzeit schon einmal in den Minutenbereich kommen (... nix für Ungeduldige)...

Achtung ! (... immer noch gültig)
Es ist mit diesem Programm relativ einfach ist, viele Objekte zu erzeugen... benutzt es "trotzdem" mit Bedacht !

Anmerkung: ... ich weiß, daß die Bereitschaft einer Antwort mit jeder Variante etwas sinkt... trotzdem wäre die eine oder andere Rückmeldung wünschenswert (...ob das finale Stadium dieses Programms erreicht ist und ob es "korrekt" funktioniert).

Gruß
EASY

 

Zufall_Test2d.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

habe Programm "Zufall_Test2D" ausprobiert. Schade das die Hilfe noch nicht funkt. Jetzt habe ich nämlich eine frage zu den Punkt Gewichtung. Ich konnte immer nur ein Objekt einlesen, es sieht aber so aus als wenn man 5 Objekte einlesen kann. Ach und noch eine Frage wozu ist "Objekt(e) markieren" da?

Zufall_Test.jpg

Das Programm sollte unbedingt ein Plugins werden, es hilft ungemein. TOP (y)

Gruß fex

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

und es ist doch die eierlegende Wollmilchsau.(y)

Innerhalb weniger Minuten wurde das Gelände um das Betriebswerk ressourcensparend begrünt:

002.jpg

Es mussten nur ein paar Bäume gefällt werden, weil sie zu nahe an den Lokschuppenwänden oder im Lichtraumprofil der Strecke standen.

HG

Brummi

P.S.: Verbesserungsvorschlag: Möglichkeit die Einstellungen für später abzuspeichern.

Bearbeitet von Roter Brummer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

.... danke für Rückmeldungen

@fex
... ich bin dabei ein Plugin daraus zu machen... dann gibt es auch ein ausgefülltes Hilfefenster und eine nähere Beschreibung hier im Forum.
Die Gewichtung ist ganz einfach... Du hast z.B. 3 Objekte ausgewähtt "O1", "O2" und "O3"... wenn Du nun die Gewichtung 3,1,5 wähst, werden 3 mal "O1", 1 mal "O2" und 5 mal "O3" gesetzt... dies wird so lange wiederholt bis die "Anzahl" erreicht ist... Anmerkung: es wird nicht darauf geachtet, ob die Reihe "sauber" aufgeht...

@Brummi

Zitat
vor 26 Minuten schrieb Roter Brummer:

Es mussten nur ein paar Bäume gefällt werden, weil sie zu nahe an den Lokschuppenwänden oder im Lichtraumprofil der Strecke standen

 

... vielleicht muß Du mal mit Frank verhandeln, ob er noch einen Waldarbeiter mit Kettensäge macht... der sorgt dann für das richtige Lichtraumprofil...;)

Zitat
vor 27 Minuten schrieb Roter Brummer:

P.S.: Verbesserungsvorschlag: Möglichkeit die Einstellungen für später abzuspeichern.

... wird noch erledigt...

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

Hallo Brummi, @Alle

Zitat
Am 8.4.2016 um 18:20 schrieb Roter Brummer:

P.S.: Verbesserungsvorschlag: Möglichkeit die Einstellungen für später abzuspeichern.

... reichen die Einstellungen aus der letzten Sitzung? (... nicht MBS-Projekt bezogen)
... dann würde ich (über eine Datei)  beim Programm Schließen die Einstellungen (automatisch) speichern und beim Programm Öffnen (automatisch) wieder abrufen...

... oder MBS-Projekt bezogen (eine [automatische Datei] pro MBS-Projekt?

... oder die Luxusausführung... frei wählbar... Speichern und Öffnen muß/kann der Anwender machen?

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Brummi,

.... das Plugin ist soweit fertig... mit Luxusausführung:)... und wird in den nächsten Tagen von mir veröffentlicht...

... als kleine "Gegenleistung" würde ich Dich um einen Gefallen bitten...
... kannst Du mir ein Bild zur Verfügung stellen, das ich als Hintergrundbild für das Plugin im MBS-Kataog nehmen kann? Ähnlich dem Bild hier ... (vielleicht etwas mehr Richtung "Wald".. aber schon mit der Schneise für die Bahnstrecke)... Ich hätte es eigentlich nehmen wollen, nur mich stört, daß oben links der senkrechte Hintergrund nicht richtig dargestellt wird (graue Fläche... macht sich nicht gut als Referenz im Katalog)....
... oder Du hast noch ein anderes "schönes" Bild, welches die Funktion des Programmes darstellt... Die Vorgabe für das Bild sind 512 x 384 Pixel...

... Danke vorab...

Gruß
EASY

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Brummi,

... danke für die Bilder....

Zitat
vor 55 Minuten schrieb Roter Brummer:

Wie gefällt dir das hier?

... unabhängig von dem um was es hier eigentlich geht... der (optische) Übergang von der Platte zum Hintergrundbild ist Dir sehr schön gelungen(y)

... für den Katalog werde ich wahrscheinlich "Alternativ" nehmen, da das Bild dann im Katalog doch sehr klein wird.... ich werde aber gerne eine Verweis bei der Pluginbschreibung auf das andere Blid machen...

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...