|
Autocad VBA : GetEntity nicht immer möglich
bassenc am 01.12.2005 um 21:13 Uhr (0)
Hallo Stelli Zitat:Original erstellt von Stelli1:HalloWahrscheinlich ist es ein Schreibfehler ACADApp.ACADApp.ActiveDocument.. gibst nicht. Durch deine Anweisung "on error resume next" rauscht der Compiler ohne Fehlermeldung drüber weg.Bei mir gibts ACADApp.ACADApp schon. Das erste ist ne Hüllklasse(wegen den Events). Ist etwas durcheinander, ich weiß, kein guter Programmierstil usw... aber ich brauchs schnell und kurz und dann nie wieder (.Net wartet nicht auf mich...)Ich habe "On error" trotzdem mal ausg ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : insert field
Hobbes_zh am 02.12.2005 um 17:03 Uhr (0)
auf autocad 2005 kann man mittels insert fields im text gewisse informationen einfüllen lassen. z.b. datum des plots, pfad der datei und viele andere nützliche dinge. die informationen sind immer aktuell, sobald man die zeichnung regeneriert. was ich nun möchte, ist das so ein "field" ein txt einliest und beim regenerieren die angaben aktualisiert. ist das möglich?sinn und zweck dieser aktion:ich möchte ein standard plan haben mit den planköpfen, plotstyles drauf und layer welche ich immer wieder brauche. ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : insert field
tunnelbauer am 02.12.2005 um 17:30 Uhr (0)
Hi,,du hast hier im VBA-Forum gepostet - ich denke das ist nicht einmal erforderlich; schwink dich rüber ins Rund um AUtoCAD-Forum und suche ma nach attin - da benötigst du keine Felder sondern nur Attribute und hast somit eine hervorragende Abwärtskompatiblität. Und die Werte für die Attribute kannst du so wie gewünscht aus einem TXT-File einlesen. Klingt das nicht gut ?------------------GrüsseThomas
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Zeichnung als Block einfügen
Feyza am 06.12.2005 um 12:02 Uhr (0)
wenn ich dieses Prog bei mir umsetzte, kommt ein AutoCAD fenster mit folgender Meldung:AutoCAD Hauptfenster ist nicht sichtbar------------------
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : insert field
Hobbes_zh am 07.12.2005 um 11:31 Uhr (0)
das klingt schon gut. ich hab mich auch reichlich mit dem beschäftigt in den letzten tagen, doch ich versteh nur bahnhof. wenn ich den text von hand einfügen muss ist das soooo einfach.ein klick und die 4 textzeilen sind da. http://www.design4you.netpeople.ch/insert1.jpg doch das zu automatisieren mit einem field ist für mich recht schwer. http://www.design4you.netpeople.ch/insert2.jpg ich hab noch nie attribute und so was im autocad benutzt. aus dem befehl ATTIN werde ich nicht schlau. doch ich frage ge ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Text zurückschreiben in dwg
sterei am 07.12.2005 um 13:57 Uhr (0)
Das Problem hing mit der Punkt und Kommatrennung zusammen.Autocad hat zwar kommagetrennte Koordinaten exportiert, konnte diese aber nicht einlesen, da es hiezu einen Punkt braucht. Deshalb die unterschiedlichen Abweichungen, da es die Koordinaten abgehackt hat.Warum ich allerdings auf meinen einen Koordinatenwert noch eine Konstante hinzufügen muss, ist mir noch ein Rätsel.Wenn da jemand noch ne Erklärung hätte wäre ich dankbar.Und hier noch mal die Codeberichtigung.Code:strZerlegteZeile = Split(strZeile, ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
Einstein am 16.12.2005 um 22:58 Uhr (0)
Hallo, ich hab eine Frage zum aufrufen eines Objektes. Ich verwende AutoCad 2002, und möchte das Volumen eines Volumenkörpers in VBA ermitteln. Das dieser Wert in dem Projekt "AutoCad.Acad3DSoilid.Volume" zu finden ist, fand ich bereits raus ;-).Nun möchte ich, dass dieser Wert in die von mir defienierte Variable "Volumen" geschreiben wird.Kann mir jemand sagen wie das geht? Über Programmierbeispiele würde ich mich sehr freun, da ich noch "Lehrling" in diesem Gebiet bin!------------------MfG A. Einstein ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
Clayton am 17.12.2005 um 00:20 Uhr (0)
Hi,Was Du hier siehst ist direkt von der Hilfe in AutCad, mit meiner Uebersetzung. War ja nicht viel - ist also umsonst.GrussSub Beispiel_Volumen() Dieses Beispiel erstellt einen Quader im Modellraum. Das Volumen wird in der Variablen "Volumen" ausgegeben. Dim boxObj As Acad3DSolid Dim Laenge As Double, Weite As Double, Hoehe As Double Dim Zentrum(0 To 2) As Double Definition fuer den Quader Zentrum(0) = 5#: Zentrum(1) = 5#: Zentrum(2) = 0 Laenge = 5#: Weite = 7: Hoehe = 10# Zeichne den ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
Einstein am 17.12.2005 um 13:12 Uhr (0)
Vielen Dank für die nützliche Antwort Clayton! ...Genau das wollt ich wissen!Doch jetzt hat sich schon die nächste Frage ergeben. Ich will, das man in AutoCad den Volumenkörper, dessen Volumen man ermitteln möchte, nur anklicken muss und das Makro nur von diesem das Volumen anzeigt. Wie geht das?Ich vermute, das die "Set"-Zeile geändert werden muss. ...So das, dass Programm bei mir schließlich wie folgt aussieht. Dim boxObj As Acad3DSolid ??? Set boxObj = ThisDrawing.ModelSpace ??? Dim Volumen As Double ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
startrek am 17.12.2005 um 13:32 Uhr (0)
Hi,das geht mit GetEntity:Code:Sub xxx() Dim ent As AcadEntity, p As Variant ThisDrawing.Utility.GetEntity ent, p, "Ein Volumenkörper please:" If TypeName(ent) = "IAcad3DSolid" Then MsgBox ent.VolumeEnd SubGruss Nancy
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
Einstein am 17.12.2005 um 14:16 Uhr (0)
Danke startrek, mit deiner Antwort haben sich gerade all meine Probleme in "Luft aufgelöst"!------------------MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung!
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : mehrere Objekte wählen!!!
Einstein am 17.12.2005 um 16:18 Uhr (0)
Hallo, ich bins noch mal, hab doch noch eine Frage. Vor wenigen Minuten gab mit "startrek" bereits eine Antwort (Siehe vorherigen Eintrag von mir). Doch eine Frage hab ich noch:Die Routiene die Sie mir als Beispiel gaben funktioniert wunderbar, doch wie programmiert man das so, dass man mehrere Volumenkörper in AutoCad markiert und sie anschließend mit ENTER bestätigt???In der beispiel Routiene kann man ja nur ein Volumenkörper wählen, nach dessen Markierung, der Code automatisch weiter "geht".------------ ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekt AutoCad.Acad3DSoilid.Volume aufrufen???
Clayton am 17.12.2005 um 17:28 Uhr (0)
Hi,Oder:Public Sub Finde_Volumen() Dim returnObj As AcadObject Dim basePnt As Variant Dim Volumen As Double On Error Resume Next Im folgenden Beispiel wartet AutoCad auf User InputRETRY: ThisDrawing.Utility.GetEntity returnObj, basePnt, "Waehle einen Koerper" If Err 0 Then Err.Clear MsgBox "Programm gelaufen.", , "Beispiel: Finde das Volumen" Exit Sub Else returnObj.Update Und schliesslich gib das Volumen aus: Volumen = returnObj.Volume MsgBox "Das Volumen des Quaders ...
|
| In das Form Autocad VBA wechseln |