|
AutoCAD VBA : Alternative zu Defun c: (LISP) in VBA?
Matthias_H am 10.10.2007 um 17:32 Uhr (0)
Guten Abend!Ich möchte folgendes kleine LISP-Makro in VBA für AutoCAD 2008 neu schreiben.(defun c:a () (store) (laysetzen "_Elektro") (command "_insert" "sch01" pause "" "" pause) (restore))Funktion: Die Tastatureingabe von a in der AutoCAD Kommandozeile fügt die Datei sch01.dwg auf dem passenden Layer ein, fertig.Derzeit kann ich noch nicht einschätzen wie viel Aufwand hierfür in VBA getrieben werden müsste. Ich weis nicht einmal wie ich die Tastatureingabe von a abfangen soll :-/Laut Hilfe müsste hierf ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : acadApp.Documents.Item(i)
lbcad am 10.10.2007 um 17:20 Uhr (0)
Hallo Leute,komme hier gar nicht weiter und wäre schön, wenn jemand eine Tipp hat:Möchte von Excel aus in einer AutoCad-Zeichnung rumwerkeln.Dazu benötige ich eine spezielle Zeichnungsdatei.Die Überprüfung, ob diese Datei schon offen ist, kriege ich aber nicht hin:Code: Dim i As Integer Dim acadDoc As AcadDocument For i = 1 To acadApp.Documents.Count acadDoc = acadApp.Documents.Item(i) If LCase$(acadDoc.FullName) = LCase$(ZuÖffnendeDatei) Then DateiSchonOffen = True ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : acadApp.Documents.Item(i)
lbcad am 11.10.2007 um 08:50 Uhr (0)
Hallo Carsten,an diese Stelle ist das Programm in der Ausführung gar nicht gekommen. Deshalb habe ich daran gar nicht rumgewerkelt.Aber die Lösung habe ich schliesslich gefunden.Der Fehler lag in der Indexierung der For-Schleife.hab es jetzt so gemacht:Code: Dim DateiSchonOffen As Boolean DateiSchonOffen = False Dim i, ii As Integer Dim sFullName As String ii = acadApp.Documents.Count - 1 ConnectToAcad For i = 0 To ii MsgBox (acadApp.Documents.Item(i).FullName) ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Alle Textstile ändern
AWagner am 27.11.2007 um 15:03 Uhr (0)
Hy Leute,ich hab ein ähnliches Problem (nur das ich VB.Net benutze - gibt ja leider keinen AutoCAD.Net - Thread)ich durchlaufe alle Textstyles und ändere den Font mit der SetFont-Methode - funktioniert in AutoCad2008 wunderbar ... aber in AutoCad2007 nicht----------------------------------------------------------- lconvertfont = new font("Arial",10) If Not Document Is Nothing AndAlso Not Document.TextStyles Is Nothing Then For k As Integer = 0 To Document.TextStyles.Count - 1 ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Punktübergabe per ARRAY() Funktion
startrek am 29.11.2007 um 19:31 Uhr (0)
Zitat:Original erstellt von CADoktor: ... obwohl die Funktion Array() in diesem Fall ein Variant mit 3 Doubles zurückliefern sollte.Gibts irgendeinen Tipp? Diese Variante würde teilweise eine Menge Tipparbeit ersparen und Punktdefinitionen lesbarer machen.Das ist genau das Problem, Array()(Datenfeld) ist immer in erster Linie ein Variant, egal ob die Feldelemte Double sind.Autocad will aber ein normales Feld(0 to 2) as Double.Wenn das Double nicht deklariert wird, nimmt er selbst das normale Feld nicht.lg ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Probleme beim öffnen von DWGs
gerhard123 am 29.11.2007 um 19:35 Uhr (0)
Hallo,ich habe ein Programm geschrieben, dass alle DWG-Dateien mittes DB öffnet und daraus eine PNG-Datei erstellt (Benötigen wir für unser ERP-System)Wenn nun aber die DWG-Datei fehlerhaft ist, dann bleibt mein Programm an dieser Stelle stehen.Wie könnte ich diese Problem behebn, das eben diese DWG übersprungen wird und das Programm weiterläuft Anbei ein ProgrammauszugSet rs = con.Execute(SQL)While rs.EOF On Error goto ende t1 = rs!Dokumentennummer t2 = rs!Dateiname AutoCAD.Documents.Open t2, True Hier tr ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Probleme beim öffnen von DWGs
Stelli1 am 30.11.2007 um 11:18 Uhr (0)
Hallo Gerhard,zunächst mal herzlich willkommen im VBA Forum.Ich möchte dir aber auch ans Herz legen deine Systeminfo auszufüllen.Es wäre auf jeden Fall für alle hilfreich zu wissen ob und mit welcher Version von AutoCAD oder VB du arbeitest. Dann noch die Frage was ist das für eine Funktion "C:Bildererzeugen".Wilfried Stelberg------------------Warum lispeln wenns auch anders geht. www.ib-stelberg.de
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Probleme beim öffnen von DWGs
gerhard123 am 30.11.2007 um 11:39 Uhr (0)
Hallo Stelli1,aleso, ich arbeite mit Autocad 2005 Deutsch und das Programm Bildererzeugen macht meine PNG-Files. Damit habe ich ja auch keine Probleme.Lg.Gerhard
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Probleme beim öffnen von DWGs
gerhard123 am 03.12.2007 um 06:55 Uhr (0)
Hallo Wilfried,die Zeichnung kann nicht geöffnet werden wei sie zB. Kaputt ist und auch mit einem Recover nicht geöffnet werden kann.Ich verwende das selbe Programm auch um von DXF-Dateien eine PNG-Datei zu erstellen. Da habe ich auch die seleben Probleme. Wenn das DXF-File nicht geöffnet werden kann bleibt mein Programm einfach stehen. Vielleicht hast du einen Lösungsvorschlag!Lg.Gerhard
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Polylinien in Linien aufsplitten
Benny4 am 30.11.2007 um 14:28 Uhr (0)
Es hat noch andere Gründe, warum ich das mit VBA mache. Muss z.B. wenn die Polylinie gegen den Uhrzeigersinn gezeichnet wurde, die Polylinie im Uhrzeigersinn nachzeichnen!Gibt es z.B. das Teilen von AutoCAD so auch in VBA?------------------Grüsse Benny
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Wieviele Elemente sind ausgewählt
Stelli1 am 02.12.2007 um 16:58 Uhr (0)
Hallo Willi W,Also du definierst in der Acad.lsp oder in der mnl Datei einer Menübar den Befehl:Code:(defun c:DemoSelection (/) (vla-runmacro(vlax-get-acad-object) "selection"))Auf deinen Button legst du den BefehlCode:^C^C_DemoSelection Dieser ruft folgende Funktion aufCode:Sub selection() Dim sset As AcadSelectionSet Set sset = ThisDrawing.PickfirstSelectionSet If sset.Count = 0 Then sset.SelectOnScreen End If MsgBox "Es wurden " & sset.Count & " Entitys gewählt"End SubUnd ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Bogen an 2 Tangenten zeichnen
wwwilli am 02.12.2007 um 15:49 Uhr (0)
Naja,bin mit dem Vorschlag in der October-2007-Wishlist auf Platz 45 gekommen (von 179): http://www.augi.com/autocad/results.asp?cycle=ACAD006 Schauen wir mal, was AutoDesk draus macht...MfG,wwwilli
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : ComboBox Readonly
BloodyMess am 02.12.2007 um 19:24 Uhr (0)
hmmm ... das klingt eigentlich nicht schlecht. Ich hätte es aber wohl besser wissen müssen, dass Access VBA nicht gleich AutoCad VBA ist, denn dort besitzt eine ComboBox keine Style-Eigenschaft.Sorry ... Der Benutzer soll einfach nichts in die ComboBox schreiben können, aber wenn er ein Item auswählt, dann muss der Text dieses Items gleich der Text-Eigenschaft gesetzt werden. Bei Locked kann ich auf keine Events reagieren - das ist mein Hauptproblem und deshalb bekomm ich auch nicht raus, welchen Index der ...
|
| In das Form AutoCAD VBA wechseln |