Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Block einfügen??mal anders??

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Block einfügen??mal anders?? (2426 mal gelesen)
OlliBaer
Mitglied
Dipl. Ing. TGA


Sehen Sie sich das Profil von OlliBaer an!   Senden Sie eine Private Message an OlliBaer  Schreiben Sie einen Gästebucheintrag für OlliBaer

Beiträge: 19
Registriert: 06.08.2003

erstellt am: 15. Aug. 2003 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo zusammen,
ich möchte gerne einen block einfügen.
dieser soll aber nicht mittels

point = ThisDrawing.Utility.GetPoint(, "Einfügepunkt wählen")
Set blockref = ThisDrawing.ModelSpace.InsertBlock(point, name, 1, 1, 1, 0)

eingefuegt werden,
sondern ich möchte den block sichtbar am mauszeiger hängen und dann erst plazieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pan
Mitglied



Sehen Sie sich das Profil von pan an!   Senden Sie eine Private Message an pan  Schreiben Sie einen Gästebucheintrag für pan

Beiträge: 141
Registriert: 18.01.2003

HP Z200
Win 7 prof
ADT 2012

erstellt am: 15. Aug. 2003 14:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

Hallo
dachte immer ich wär der einzige der sichtbares Schieben braucht.
Sieh doch mal nach AcadXDynamicGraphics von der Acadx-Webseite. Damit kann man Objekte sichtbar schieben. Musst mal sehen ob man das Tool hierfür einarbeiten kann.

Bisher mach ichs mit Lisp, setze Objekte irgendwo hinter 0,0 und schieb es dann sichtbar ein.
Gruß Pan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OlliBaer
Mitglied
Dipl. Ing. TGA


Sehen Sie sich das Profil von OlliBaer an!   Senden Sie eine Private Message an OlliBaer  Schreiben Sie einen Gästebucheintrag für OlliBaer

Beiträge: 19
Registriert: 06.08.2003

erstellt am: 15. Aug. 2003 16:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

danke für deine hilfe, aber auf der o.g. seite finde ich nichts über AcadXDynamicGraphics, unterwelcher rubrik ???

bis dann OLLI

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pan
Mitglied



Sehen Sie sich das Profil von pan an!   Senden Sie eine Private Message an pan  Schreiben Sie einen Gästebucheintrag für pan

Beiträge: 141
Registriert: 18.01.2003

HP Z200
Win 7 prof
ADT 2012

erstellt am: 15. Aug. 2003 16:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

wo bist du denn gewesen http://members.bellatlantic.net/~vze2vjds/acadx/acadx15.htm
Links in der blauen Inhaltsleiste.Den Code da kopieren und auch acadx.arx downloaden
Pan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

OlliBaer
Mitglied
Dipl. Ing. TGA


Sehen Sie sich das Profil von OlliBaer an!   Senden Sie eine Private Message an OlliBaer  Schreiben Sie einen Gästebucheintrag für OlliBaer

Beiträge: 19
Registriert: 06.08.2003

erstellt am: 15. Aug. 2003 17:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ahh,ich war auf www.acadx.de...;-)

thx olli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RoSiNiNo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von RoSiNiNo an!   Senden Sie eine Private Message an RoSiNiNo  Schreiben Sie einen Gästebucheintrag für RoSiNiNo

Beiträge: 1126
Registriert: 09.10.2002

Acad 2011-deutsch, Express Tools
3ds Max 2010
Win 7-Professional
HP Workstation Z400, 6GB
GeForce GTX 470

erstellt am: 18. Aug. 2003 07:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

Hallo Olli,
ein bisschen musst du aber schon aufpassen, wie z.B. bei transparenten Befehlen wie Zoom, Pan, etc. Da wirst du warscheinlich rausgeschmissen, du kannst es aber übergehen, probier's einfach mal aus.
Was bei uns auch manchmal passiert ist, wenn wir danach einen Zoom-Befehl aufgerufen haben, hat ACAD plötzlich als ersten Punkt automatisch den letzten Punkt für das Zoom-Fenster angenommen. Ich mußte daraufhin alle "Ghostblocks" wieder entfernen, leider.
Ich hatte Höhenkoten gemacht, bei denen man die Höhe beim einsetzen sehen konnte, die sich auch veränderte, wenn man auf dem Bildschirm herumfuhr. Oder Schnittlinien, bei denen man gleich sehen konnte in welche Richtung die Blöcke schauen, das ist hier alles möglich, spiel dich einfach ein wenig.
Leider dauert es noch etwas bis die Version für 2004 rauskommt.

------------------
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 19. Aug. 2003 18:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

Hi,
geht auch anders, einfach nen bissl Lisp dafür beschäftigen (nicht lachen...)

Das hier in einer .lsp Datei speichern und laden:
(defun blockIn(Path)
(setvar "cmdecho" 0)
(princ)
(Command "_-Insert" path pause "1.0" "1.0"pause)
(setvar "cmdecho" 1)
(princ)
  )

Pause repräsentiert eine Benutzereingabe, kann durch Variabeln ersetzt werden. Von einem VBA Form ruft Ihr das Dingen folgendermassen auf:

Private Sub CommandButton1_Click()
Dim path As String
path = """G:/CADLIB/RrWaende/cwa280D.dwg"""

Me.Hide
ThisDrawing.SendCommand "(blockIn " & path & ")" & vbCr
Me.Show

End Sub

darauf achten das Backslash in Pfaden von Lisp nicht aktzeptiert wird. CMDECHO würd ich noch nach VBA verschieben dann dürfte man nichts mehr sehen. Um ggf. den Block mit VBA weiter zu bearbeiten muss dann allerdings das zuletzt erzeugte Element abgfragt werden usw.. Um das zusätliche laden oder verteilen der lisp Datei zu vermeiden könnte man diese Datei jetzt noch mit VBA vorher erzeugen und ausführen, nur so ne Idee.

May it help!

Gruss,
Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RoSiNiNo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von RoSiNiNo an!   Senden Sie eine Private Message an RoSiNiNo  Schreiben Sie einen Gästebucheintrag für RoSiNiNo

Beiträge: 1126
Registriert: 09.10.2002

Acad 2011-deutsch, Express Tools
3ds Max 2010
Win 7-Professional
HP Workstation Z400, 6GB
GeForce GTX 470

erstellt am: 20. Aug. 2003 06:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

@Harry
Ob das wirklich so gscheit ist???
Wir brauchen den Block in diesem Beispiel ja noch einmal, den Sinn hinter dem Herumspringen verstehe ich nicht, wozu kann man denn in VBA einen Block einsetzen.

------------------
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RoSiNiNo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von RoSiNiNo an!   Senden Sie eine Private Message an RoSiNiNo  Schreiben Sie einen Gästebucheintrag für RoSiNiNo

Beiträge: 1126
Registriert: 09.10.2002

Acad 2011-deutsch, Express Tools
3ds Max 2010
Win 7-Professional
HP Workstation Z400, 6GB
GeForce GTX 470

erstellt am: 20. Aug. 2003 07:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

@Harry
Entschuldige, hab mich im Beitrag geirrt. Aber trotzdem, dein Vorschlag ist ok, aber wenn man den Block noch einmal im Przedurablauf benötigt, dann kann man ihn nicht brauchen.
Überhaupt wenn du dir meine Beispiele anschaust.
Der Vorteil von AcadX ist der, das man ja nicht nur Blöcke als Vorschau haben kann, jedes Zeichenelement ist möglich.

------------------
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 20. Aug. 2003 07:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

klar kannst Du den eingefügten Block weiterverwenden, wie schon gesagt Du musst nur noch mit VBA das zuletzt erzeugte Element rausfischen und an ein Object übergeben. Welche Beispiele meinst denn Du??

Was anderes als Blöcke visuell einfügen hab ich selbst noch nicht gebraucht, hin und wieder helfe ich mir wenn ich der utility.getpoint Funktion vorher einen Punkt mitgebe, das Gummiband reicht eigentlich aus.

Gruss,

Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

Revit 2019, ACMep2019, F360

erstellt am: 20. Aug. 2003 07:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

ähhhh, AcadX, bin neugierig aber Dein Link scheint nicht zu funktionieren, hast Du noch ne andere Quelle? Danke!!

Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RoSiNiNo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von RoSiNiNo an!   Senden Sie eine Private Message an RoSiNiNo  Schreiben Sie einen Gästebucheintrag für RoSiNiNo

Beiträge: 1126
Registriert: 09.10.2002

Acad 2011-deutsch, Express Tools
3ds Max 2010
Win 7-Professional
HP Workstation Z400, 6GB
GeForce GTX 470

erstellt am: 20. Aug. 2003 07:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

Nochmal zum mitschreiben 
http://members.bellatlantic.net/~vze2vjds/acadx/acadx15.htm
Sollte funktionieren, hab grad reingeschaut.

------------------
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 21. Aug. 2003 20:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

nö, der Link funzt net. Kann aber sein das die Seite hier in Taiwan aus irgendeinem Grund gesperrt ist.

Danke trotzdem!

Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

steinemann09
Mitglied
Dipl. Ing.


Sehen Sie sich das Profil von steinemann09 an!   Senden Sie eine Private Message an steinemann09  Schreiben Sie einen Gästebucheintrag für steinemann09

Beiträge: 47
Registriert: 27.08.2008

AutoCAD 2005, AutoCAD 2011

erstellt am: 09. Apr. 2009 13:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OlliBaer 10 Unities + Antwort hilfreich

Hallo Harry,

Du hattest vor langer Zeit ein schönes Beispiel über den sendcommand-Befehl. Mir gelingt es zwar einen Parameter an den Lispaufruf zu übergeben, aber auf den Rückgabewert der Lispfunktion kann ich in
VBA nicht zugreifen. Hast Du eventuell eine Idee dazu?
_____________________________________________________________
Sub test()
ThisDrawing.Utility.GetEntity BlockRef, inspkt, "Blockwählen"
oi = Attributes(3).ObjectID ' Objekt-Id des 3. Attributwertes
hOBJEKTID = oi
ThisDrawing.SendCommand "(oi2la " & hOBJEKTID & ")" & vbCr
' an dieser Stelle möchte ich den Rückgabe Wert der
' Lispfunktion weiterrverarbeiten
End Sub

_______________________________________________________________


Der Lisp-Qellcode

(defun oi2la(hOBJEKTID )

; Routine zur Ermittlung des Layernamens aus der Objekt-ID
(setq DOC(vla-get-activedocument(vlax-get-acad-object)))
(setq OBJ2(vla-ObjectIDToObject DOC hOBJEKTID)); hOBJEKTID ist die Objekt-Id des Blockes
(setq OBJ3(vlax-vla-object->ename OBJ2))
(setq layer_n (cdr (assoc 8 (entget OBJ3))))

)

----------------------------------------------
Der Rückgabewert der Lispfunktion ist der Inhalt der Varable layer_n.
Ein Tipp wäre sehr hilfreich für mich.


Gruß Volker


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 09. Apr. 2009 15:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Volker,

über SendCommand bekommst Du keine Rückgabewerte. 

Du kannst aber in Deinem Lisp den Rückgabewert in einer der USER-Setvariablen speichern und auf diese Variable dann von VBA aus zugreifen.

- alfred -

------------------
www.hollaus.at

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz