|
AutoCAD VBA : Bogen versetzen mit Offset
fox-033 am 12.06.2008 um 21:11 Uhr (0)
Vielen Dank für die rasche Antwort. Es ist mir aber immer noch nicht ganz klar, wie ich die "neu erzeugten" Bögen genauso weiterverarbeiten kann wie das Ursprungsobjekt, z.B. das Handle ermitteln und den mit Offset erzeugten Bogen verschieben kann, oder die Start- und Endpoints in eine Variable speichern kann. In der Zeichnung existiert ja der neue Bogen und hat eine eigenständige Referenz. Muß ich wieder alle Objekte in ein SelectionSet einlesen und die Bögen herausfiltern?Mit Bogen(i).Offset (Versatz)BAW ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : mit variablen Werten eine komplette Zeichnung erstellen
RoSiNiNo am 12.08.2003 um 07:38 Uhr (0)
Kommt ganz darauf an was du damit machen willst. Wenn du den Kreis nachher noch einmal angreifen willst (Farbe ändern, verschieben,...), dann solltest du ihn dir auch merken. Code: dim Kreis as acadcircle set kreis = thisdrawing.modelspace.addcircle(Einsetzpunkt, Radius) wenn du den Kreis nicht mehr brauchst, dann Code: thisdrawing.modelspace.addcircle Einsetzpunkt, Radius ------------------ Roland
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekte in ACAD verschieben
Karsten HST am 18.03.2005 um 12:39 Uhr (0)
So müsste es gehen: Sub MoveAll() Dim acSSet As AcadSelectionSet, nItem As AcadEntity Dim FromPoint, ToPoint On Error Resume Next SelectionSets.Add ALLES Set acSSet = SelectionSets( ALLES ) acSSet.Select acSelectionSetAll FromPoint = Utility.GetPoint(, von Punkt: ) ToPoint = Utility.GetPoint(FromPoint, nach Punkt: ) For Each nItem In acSSet nItem.Move FromPoint, ToPoint Next acSSet.Delete End Sub
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : VBE-Zugriff-->Doku?
Headcase am 02.05.2006 um 09:38 Uhr (0)
Vielen Dank für den Tip! Man sollte nicht Freitags kurz vor Feierabend noch solche Fragen stellen Habe eben festgestellt, dass die Hilfe ja doch einiges hergibt.Mein Problem war: Ich wollte in einem "About"-Dialogfeld neben der Programmversion das ausgelesene Datum der letzten Änderung anzeigen. Dass ist mir nun mit Hilfe des FSO gelungen, jedoch nur über Angabe des absoluten Pfades der .DVB-Datei. Diesen kann ich mit "application.VBE.activevbproject.filename" auslesen, dadurch sollte das ganze jetzt auch ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Linien Selektieren und verschieben für Anfänger
Brischke am 26.05.2004 um 01:05 Uhr (0)
Hallo, wie du die Linien selektierst, das kannst du dir dort ableiten: http://ww3.cad.de/foren/ubb/Forum259/HTML/000242.shtml Die so ermittelten Linienobjekte sind dann nur noch bzgl. der länge zu überprüfen. Linien verfügen über diese Länge-Eigenschaft, so dass du diese dann mit einer einfachen If-Bedingung rausfiltern kannst. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat! Treffen Sie (de ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : custom_mittellinie
Stelli1 am 12.06.2007 um 14:03 Uhr (0)
Hallo,da du hier im VBA Forum bist mal eine Antwort aus dieser Sicht:Das kann man mit VBA schon programmieren. Aber mit wenig VB Kenntnissen sehe ich da nicht viel Chancen.Aber da gibt es bestimmt schon was. Ich denke aber das der Beitrag im "Rund um AutoCAD" Forum besser aufgehoben ist, da hier alle (auch die Lispler ) lesen und einer eine Lösung bzw. einen Tipp hat.Wenn du möchest, können wir den Beitrag dorthin verschieben um Crossposts zu vermeiden.Viel ErfolgWilfried Stelberg------------------Warum li ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Explode von uneinheitlich skalierten Blöcken
Theo37 am 08.10.2008 um 15:21 Uhr (0)
An "Sendcommand" hab ich auch schon gedacht. Aber da weiß ich nicht wie ich das "Entry" an den ACAD-Befehl übergeben soll. Auch wenn ich einen Auswahlsatz daraus machen würde, so daß alle Entry auf einmal enthalten wären, wüsste ich nicht wie ich den mit "sendcommand" an den ACAD-Befehl übergeben soll.Zu Deiner Frage. Sinn des ganzen Makros ist es die Layer und die Objekte einer Zeichnung, tabelarisch zu erfassen und diese dann Löschen, Auflösen oder Verschieben.... können. Im Prinzip das was auch Schnella ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Attribute
PG01 am 16.03.2005 um 19:47 Uhr (0)
Hallo, wenn ich Dich richtig verstehen, willst Du einen Block einfügen und danach das (sichtbare) Attribut verändern. Das Attribut selbst hat ja ein ganz normalen Einfügepunkt, den Du greifen und das Attribut verschieben kannst. Der Block wird dabei nicht verschoben. Das Attribut drehen kannst Du z.B. mit Eingabe von -attedit . Das Minus-Zeichen mußt Du auch wirklich eingeben. Wenn Deine Frage so gemeint, daß Du das Attribut über VB verändern willst, evtl. um die Attribute aller Blöcke in der Zeichnung z ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Auslesen von Blockeigenschaften mittels VBA möglich?
kiltswitch am 08.11.2004 um 09:30 Uhr (0)
Also ich habe mal mit meinem Vorgesetzten, welcher mir die Aufgabe erteilt hat, gesprochen und ihm erst einmal klar gemacht, dass wir zunächst unbedingt ein Konzept entwickeln müssen, wie das Ganze funktionieren soll, welche Ziele verfolgt werden etc. - und dann erst an die Programmierung rangehen. Grundlegend ist es nun so, dass ich herausfinden soll - so seine Meinung - was in einer bestehenden Zeichnung alles für Informationen über die Objekte vorliegen. Er meinte z.B.: fügen Sie mal in eine leere Zeic ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Gedrehte Bemaßung ausrichten
Headcase am 17.08.2007 um 09:36 Uhr (0)
Hallo!Wenn ich die Frage richtig verstanden habe, soll durch klicken eine Bemaßung gewählt werden und der Ursprungspunkt der Hilfslinien in x-Richtung verschoben werden?Via VBA würde das etwa so aussehen:Code:Dim obj As AcadObjectDim pp(0 To 2) As DoubleDim pkt1 As VariantThisDrawing.Utility.GetEntity obj, pp, "Bemaßung wählen"If obj.ObjectName = "AcDbAlignedDimension" Then pkt1 = obj.ExtLine1Point pkt1(0) = pkt1(0) + 10 obj.ExtLine1Point = pkt1 obj.UpdateEnd IfEdit:Um den Maßtext zu verschieben (was s ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : IntersectWith Methode
mapcar am 22.08.2004 um 21:26 Uhr (0)
Hi Stefan, du machst da im Prinzip wohl nichts falsch, es ist nur so, dass sich 3DSolids einfach jeglicher Bearbeitung entziehen (ausser Verschieben usw.) Die 3DSolids erben zwar von ihrer Base Class die Methode IntersectWith, aber wirklich implementiert ist die Methode nicht. Das Fehlschlagen ist also kein Fehler, sondern so programmiert. Abgesehen davon kann man das Ergebnis auch gar nicht mit Punkten erfassen: SchnittPUNKTE gibt es nur bei geraden und krummen Kurvenobjekten. Gruß, Axel Strube-Zettler ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Explode von uneinheitlich skalierten Blöcken
CADmium am 08.10.2008 um 15:25 Uhr (0)
Zitat:Original erstellt von Theo37:Zu Deiner Frage. Sinn des ganzen Makros ist es die Layer und die Objekte einer Zeichnung, tabelarisch zu erfassen und diese dann Löschen, Auflösen oder Verschieben.... können. Im Prinzip das was auch Schnellauswahl macht. Nur etwas auf meine Bedürfnisse abgestimmt.Gruß..Na dafür brauch man doch nicht die Blockreferenzen auflösen ... da geht man einfach durch die Blocktabelle und "scannt" die Objekte jeder Blockdefinition .. wird eine Referenz gefunden werden zusätzlich n ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Komponenten Platzieren mit VBA
djs0401 am 07.03.2008 um 16:59 Uhr (0)
Für die, die es interessiert... hab das jetzt so gemacht... leider keinen anderen weg gefunden:Hab aus jeder Datei meine Draufsicht rausgeholt und neu abgespeichert.Dann füge ich die Ansicht in meine Zeichnung ein mit:Code:Set blockObj = ThisDrawing.ModelSpace.InsertBlock(einfugPkt, Dateipfad, 1#, 1#, 1#, 0) blockObj.UpdateUnd dann erstelle ich aus diesem "Block" wieder eine Komponente, mit dem unschönen SendCommand:Code:ThisDrawing.SendCommand "_AMSCREATE" & vbCr & "K" & vbCr & NAME & i & vbCr & "D ...
|
| In das Form AutoCAD VBA wechseln |