• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Osnap Filtersteuerung in transparentem Modus in VBA6

  • Ersteller Ersteller tiziano69
  • Erstellt am Erstellt am

tiziano69

Guest
Guten Morgen, ich schaffe eine Anwendung, die es erlaubt, einige Autocad-Befehle in einer Form gesammelt zu haben, die immer im Vordergrund aktiv bleibt, für Befehle (Kopie, Linie etc.) gibt es keine Probleme, da ich stattdessen zu Autocad transparent wechseln, während eines Design- oder Modifizierungsbefehls, ein Osnap-Filter. Typ I zeichnen eine Linie und an einem bestimmten Punkt möchte ich aus dem Formular den End_point-Filter auswählen.

Ich trainiere das Projekt, das ich gestartet habe

Danke.
 

Anhänge

bhè ist ausreichend, um das feine Beispiel Snap (_end), med (_mid) etc. als String an die Befehlszeile zu geben.

Ich habe das Projekt nicht gesehen, aber mit einem vba sendcommand lösen, jetzt übersetzen es in vb und sollte arbeiten.
 
Ich habe bereits versucht (siehe unten) das Problem ist, dass offensichtlich Osnap-Filter transparent verwendet werden sollten, beispielsweise innerhalb des bereits aktiven Befehls, von vb I muss in der Lage sein, einen Filter transparent und so weiter auszuwählen. wie es ist, es passiert nicht, wenn sie die Schaltfläche auswählen, ist der Befehl beendet.

privater Subbefehl3_click()
dim utilobj als Objekt
dim objacad als Objekt

set objacad = getobject(, "autocad.application")
set utilobj = objacad.activedocument.utility
Form1.hide
objacad.visible = true

autocad.acadapplication.activedocument.sendcommand "_endp" & vbcr
'form1.show
form1.visible = true
 
....wie ich eine Linie ziehe und irgendwann möchte ich aus dem Formular den End_point-Filter auswählen.

Ich trainiere das Projekt, das ich gestartet habe

Danke.
bei der Auswahl aus dem Formular die Schaltfläche zum Setzen des Osnap-Modus verwendet die Funktion zum Einstellen der Systemvariablen 'setvariable'.
in diesem Fall ist die Variable osmode.
Probieren Sie so etwas, das Ihrem Projekt angepasst ist:
dim sysvardata als Ganze
sysvarname = "osmode"
sysvardata = 1
Diese Zeichnung. setvariable sysvarname, sysvardata
osmode zu 1 bedeutet _endpoint, 2 = _midpoint und so weiter (siehe Hilfe von autocad)
 
ok besser als mit "sendcommand", das Problem ist, dass ich in vba6, so dass das Programm immer offen bleibt und im Vordergrund, so oder ersetzt auf diese Weise

privater Subbefehl6_click()
dim sysvardata als Ganze
dim sysvarname als String

sysvarname = "osmode"
sysvardata = 1
autocad.activedocument.setvariable sysvarname, sysvardata
„Diese Zeichnung. setvariable sysvarname, GeschwisterdatenEnde

das Problem bleibt das gleiche, wenn ich auf die Schaltfläche, um den Filter zu aktivieren, in autocad nichts passiert und nach ein paar Sekunden scheint es ein Time-out Problem zwischen den beiden Anwendungen.
 
Laut mir ist das Problem mit der Tatsache verbunden, dass Sie in einem aktiven Befehl sind, der Anruf eines Setvar wahrscheinlich nicht passieren, für das ich sagte, einen Befehl im Befehl zu übergeben (wählen Sie das Wortspiel), als wäre es ein Skript, es ist eine weniger elegante Weise sicher, aber wenn in Autocad während eines Befehls, um die Snaps, die Sie von der Befehlszeile 'os oder dx Maus-Taste passieren müssen usw.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben