|
Autocad VBA : Welche Möglichkeiten gibt es zum Einlesen u. Weiterverarbeiten v. Blöcken in AutoCAD?
harryk am 16.11.2004 um 16:38 Uhr (0)
hi, ich weiss nicht ob die autocad entwicklerhilfe bei dir installiert ist aber da findest du alles was du brauchst. guckst du: Sub Example_InsertBlock() This example creates a block containing a circle. It then inserts the block. Create the block Dim blockObj As AcadBlock Dim insertionPnt(0 To 2) As Double insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0# Set blockObj = ThisDrawing.Blocks.Add(insertionPnt, "CircleBlock") Add a circle to the block ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Auswahl auf 0,0 verschieben
Bernhard F. am 10.06.2009 um 15:35 Uhr (0)
Vielleicht etwas umständlich aber es funktioniert.Code:Public Sub Alles_Verschieben() Dim sset As AcadSelectionSet Dim Entity As AcadEntity Dim fType%(1), fData(1) Dim minExt As Variant Dim maxExt As Variant Dim Test As Variant Dim FromPoint , ToPoint Dim ToPoint(0 To 2) As Double On Error Resume Next Set sset = ThisDrawing.SelectionSets("Rahmen") If Err.Number Then Set sset = ThisDrawing.SelectionSets.Add("Rahmen") End If On Error GoTo 0 fType(0) = 0 fData(0) = "INSERT" fType(1) = 8 ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Variablen gesucht...
CowMover am 24.09.2003 um 15:08 Uhr (0)
Hallo! Ich soll fuer einen unserer Mitarbeiter ein Acad Macro schreiben das vom Prinzip her folgendes macht: _massprop (Schwerpunkt berechnen) _move (die Werte des Schwerpunktes (*-1) - Sprich Zeichnung auf den Nullpunkt verschieben) _massprop (den Schwerpunkt neu berechnen) Ist auch soweit alles kein Problem. Mit VBA kann man ja Befehle an Acad eubergeben. Mein Problem liegt nun da, das ich den X und den Y Wert des Schwerpunktes brauche um diese (*-1) zu nehmen und sie an Move zu uebergeben (damit die ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Sendcommand Ausgabe Textfenster unterdrücken
Stelli1 am 28.12.2005 um 11:17 Uhr (0)
Hallo Didi,hab jetzt erst gesehen das du noch ein Problem hast.Ich glaube das es mit der Befehlswiederholung nicht auf normalen Wege geht. Wenn mit Sendcommand ein Befehl an AutoCAD geschickt wird, ist dieser immer der letzte für die Befehlswiederholung.Ich würde den Befehl (avng) am Ende deines Makros einfach nochmal aufrufen und vorher ein Flag setzen das er nicht nochmal durchläuft. Dann steht dein Befehl wieder am Ende der Befehlsfolge.Bau dir doch eine Abfrage rein Code:Option ExplicitPublic Flag As B ...
|
| In das Form Autocad VBA wechseln |
 |
AutoCAD VBA : Objektauswahl mit Handle
cadffm am 02.11.2018 um 15:15 Uhr (15)
Ich würde die Variable "Objekt_gefundener_Block" nennen.Wenn du von Sendcommand sprichst und einen Standard-AutoCADbefehl nutzen möchtest,dann versteht dieser (fast immer) wenn man den EntityName(ename) übergibt,also ein Ausflug in die Lispwelt wäre ein einfacher Weg.Wenn die Objektwahl startet, dann folgenden String senden // alles was in der nächsten Zeile steht muß als String in der Befehlszeile ankommen.(handent "3AB")wobei hier 3AB das Handle als Beispiel verwendet wurde.Kannst es ja in Acad mal in de ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : externe Referenzen prüfen
PeterF am 07.11.2008 um 08:06 Uhr (0)
Hi alfred,Danke für die Antwort.Das habe uch auch schon so gemacht. Aber, wie du schon bemerkt hast, habe ich dann keine Kontrolle, ob die Referenz überhaupt verwendet wird. Was mir gerade dabei einfällt. Man kann ja die Block-Collection durchlaufen. Wenn ein Block.IsXref=true dann ein Selectionset bilden mit dem Blocknamen.So weiß ich, ob die Xref überhaupt verwendet wird. Mal testen, wie das mit den Laufzeitzeiten aussieht.Aber dennoch bleibt die Frage, warum es einen Laufzeitfehler gibt, wenn man die Fi ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Block mit Bemassung erstellen
H.D. am 20.05.2005 um 09:28 Uhr (0)
Hallo PG01, danke für Deine Antwort! Ich glaube ich habe mein Problem nicht ausreichend beschrieben. Ich habe ein Objekt erstellt, welches aus einem Rechteck mit einer Mittellinie. Dies soll mit 4 Masslinien (Position des Objektes vom Nullpunkt in x und y Richtung sowie die Absolute Länge und Breite) bestückt werden. Dieses Objekt habe ich der Zeichnung hinzugefügt und anschließend bemasst, auch so wie Du es geschrieben hast. Wie bekomme ich es hin, wenn ich nachträglich dieses Objekt in der Zeichnung vers ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Block einfügen??mal anders??
harryk am 19.08.2003 um 18:06 Uhr (0)
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 Stringpath = """G:/CADLIB/RrWaende/cwa280D.dwg"""Me.HideThisDrawing.S ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Mausrad & zurück
startrek am 08.07.2004 um 18:50 Uhr (0)
Hallo zusammen, versuch nochmal hier mein Glück, mich quält schon länger [bei manchen dwg s] folgendes: Angenommen ich verschiebe ein Element/Wand und zoome/pane via Mausrad nah ran und stell fest, das ich einen falschen Punkt erwischt habe. Wenn ich jetzt den Verschieben Befehl rückgängig machen möchte, muss ich 1000x oder so auf Zurück klicken ... Worauf ich hinaus will: Ein Command wird hier via Mausrad nicht ausgelöst, wohl aber unter Undo gespeichert irgendwie ... Private Sub AcadDocument_BeginC ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Abmessungen und Formen von Selectionsets
RoSiNiNo am 02.04.2004 um 13:30 Uhr (0)
Wenn du ein SS verschieben möchtest, wie wäre es dann mit einer Funktion wie z.B. Code: Schieben eines SelectionSets Public Sub MoveSS(SS As AcadSelectionSet, FromPoint, ToPoint) Dim i As Long On Error GoTo Err_Control For i = 0 To SS.Count - 1 SS.Item(i).Move FromPoint, ToPoint Next Exit_Here: Exit Function Err_Control: MsgBox Err.Description Err.Clear Resume Exit_Here End Sub Wenn du die BoundingBox eines SS möchtest, noch eine Funktion: Code: Public ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : ActiveX DLL mit Dialogfenster im AutoCAD aufrufen
vkleppel am 06.10.2003 um 22:54 Uhr (0)
Hallo, die Programmaufgabe die du hast, ist zweistufig. Du mußt in VB ein sogenanntes ActiveX-DLL Projekt anlegen, in dem Du z.B. die benötigten Formulare und weitere Module anlegst. Danach ist in VBA oder VisualLisp der Zugriff in AutoCAD auf die ActiveX-Komponente zu programmieren. Zu VB: Hier mußt Du ein Klassenmodul schreiben, daß die Verbindung zur Aussenwelt herstellt. Der Name des Projekts entspricht hierbei dem DLL-Dateinamen und damit dem ActiveX-Namen, der Name des Klassenmoduls entspricht de ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Abmessungen und Formen von Selectionsets
harryk am 02.04.2004 um 14:53 Uhr (0)
hi dressler, ich denke du möchtest zu fertigende werkstücke so auf deinem ausgangsmaterial setzen das geringst möglicher verschnitt entsteht. rosinino hat dir nen lehrbuch beispiel für das positionieren gegeben, in deinem fall müsstest du in einer etwas aufwendigeren schleife deine neuen koordinaten ermitteln, quasi puzzlen bis die polygone auf s ausgangsmaterial passen (konturabstand?). im ersten ansatz über die boundingbox wirst du aber trotz ggf. mehrerer durchläufe nie optimale ergebnisse erziehlen, ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Autocad kaufen statt mieten
KlaK am 16.02.2022 um 13:03 Uhr (1)
Hi,Ein Moderator könnte den Beitrag natürlich verschieben, wird aber nur ungern gemacht da es dabei schon öfters Probleme gab. Z.B. wenn gleichzeitig eine neue Antwort gepostet wurde.Sinnvoller wäre es dann einen neuen Beitrag zu verfassen und bei beiden gegenseitig auf den anderen verweisen ("Hier gehts weiter", "Ursprünglicher Post"). Damit kann der interessierte Forumsleser alle Beiträge sehen.zu 3.: Ja so wird es normalerweise gemacht. Lizenzmanager auf dem Server, Programm auf allen Rechnern die es ev ...
|
| In das Form AutoCAD VBA wechseln |