Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  DXF in Verbindung mit VBA zum Ändern von Zeichnungen geeignet?

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:  DXF in Verbindung mit VBA zum Ändern von Zeichnungen geeignet? (1742 mal gelesen)
kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 09. Nov. 2004 16:28    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,

mich kennt man hier ja inzwischen. :-)
Bei meiner ganzen Recherche zwecks Änderung von Zeichnungen fiel mir auch ein, dass es ja auch noch DXF gibt.

Ich könnte ja folgendes Programm in VBA schreiben:

- Zeichnung mit Blockinhalten in DXF speichern
- zeilenweises Durchsuchen der DXF nach den Blocknamen
- wenn gefunden, dann Änderung von Werten (bspw. Drehung,
  Koordinaten etc.) in der entsprechenden DXF-Zeile
- zurücklesen der DXF in Zeichnung

also ich habe das mal manuell getestet und das geht natürlich.
Zeichnung als DXF gespeichert, einfach die Zeile in der dxf suchen, wo bspw. die Drehung des Blockes drinsteht. Dort geändert und rückgeführt in AutoCAD. Die Änderung wurde selbstverständlich übernommen.

Nun ist meine Frage, ob das eine sinnvolle und effektive Möglichkeit wäre, Blöcke (Blockreferenzen) in der Zeichnung umzupositionieren?

Tobias

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 09. Nov. 2004 16:30    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 kiltswitch 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von kiltswitch:
Nun ist meine Frage, ob das eine sinnvolle und effektive Möglichkeit wäre, Blöcke (Blockreferenzen) in der Zeichnung umzupositionieren?

Kurz gesagt : Nein!!

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 09. Nov. 2004 16: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

Und wieso nicht? Was für eine Begründung spricht dagegen?

Zitat:
Original erstellt von CADmium:
Kurz gesagt : [b]Nein!!

[/B]


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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 09. Nov. 2004 16: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 kiltswitch 10 Unities + Antwort hilfreich

die Frage lautete sinnvoll und effektiv !!! Umwege sind selten effektiv und der über dxf in diesem Fall auch nicht sinnvoll. Dxf ist bloß ein abklatsch, der die nicht(mehr) alle Infos der Originalzeichnungsdatenbank liefert.

Zum besseren Verständnis solltest du dir vielleicht
das Buch "AutoCAD-Objekte" von Rudolph Dietmar durchlesen.
(ebay - googeln usw.)

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 09. Nov. 2004 16:44    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

rate mal, was für ein buch ich gerade vor mir liegen habe... ;-)
ich bin schon kräftig dabei, das buch durchzulesen.

also würde das grundsätzlich aber gehen? Nur effektiv und sinnvoll wäre es nicht? Und wieso liefert mir DXF nicht mehr alle Infos der Originalzeichnungsdatenbank?

Zitat:
Original erstellt von CADmium:
die Frage lautete [b]sinnvoll und effektiv !!! Umwege sind selten effektiv und der über dxf in diesem Fall auch nicht sinnvoll. Dxf ist bloß ein abklatsch, der die nicht(mehr) alle Infos der Originalzeichnungsdatenbank liefert.

Zum besseren Verständnis solltest du dir vielleicht
das Buch "AutoCAD-Objekte" von Rudolph Dietmar durchlesen.
(ebay - googeln usw.)

[/B]


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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 09. Nov. 2004 19: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 kiltswitch 10 Unities + Antwort hilfreich

Das Verfahren ist deshalb überhaupt nicht zu empfehlen, weil jegliche Prüfung seitens AutoCAD wegfällt. Wenn du mit ActiveX-Methoden einem Kreis den Radius -1 zuweist, kriegst du einen Fehler und kannst dir überlegen, warum. Wenn du in einer DXF-Datei ein Minuszeichen vor irgendeinen Kreisradius klebst, hast du eine kaputte DXF-Datei, die AutoCAD nicht mehr lädt, sonst nix.

Man kann natürlich auch in DXF-Dateien Manipulationen vornehmen, aber das setzt hochgradige Kenntnis der Gruppencodes und des Aufbaus einer Zeichnung voraus, vor allem der Ownerships usw. Wenn du das beherrschst, kannst du aber auch gleich in Lisp programmieren (das bisschen Sprachsyntax ist in ein paar Sätzen erklärt).

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 10. Nov. 2004 09:32    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

Oh, das ist wirklich nicht so gut. Mit LISP oder VBA passiert das wohl nicht?

Ich gebe zu, ich beherrsche das mit den Gruppencodes überhaupt nicht. Ich habe das erst vor einigen Tagen erfahren, dass es das überhaupt gibt.

Also ist das alles auch mit LISP lösbar? Man braucht dazu aber unbedingt die Kenntnis über Gruppencodes?

Wenn ich eine fertige Zeichnung habe, welche aus Blöcken besteht. Wie kann ich dann mit einem Programm auf diese Blöcke zugreifen und diese bspw. in der Zeichnung umpositionieren oder auch drehen usw...?

Tobias

Zitat:
Original erstellt von mapcar:
Das Verfahren ist deshalb überhaupt nicht zu empfehlen, weil jegliche Prüfung seitens AutoCAD wegfällt. Wenn du mit ActiveX-Methoden einem Kreis den Radius -1 zuweist, kriegst du einen Fehler und kannst dir überlegen, warum. Wenn du in einer DXF-Datei ein Minuszeichen vor irgendeinen Kreisradius klebst, hast du eine kaputte DXF-Datei, die AutoCAD nicht mehr lädt, sonst nix.

Man kann natürlich auch in DXF-Dateien Manipulationen vornehmen, aber das setzt hochgradige Kenntnis der Gruppencodes und des Aufbaus einer Zeichnung voraus, vor allem der Ownerships usw. Wenn du das beherrschst, kannst du aber auch gleich in Lisp programmieren (das bisschen Sprachsyntax ist in ein paar Sätzen erklärt).

Gruß, Axel Strube-Zettler



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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...,
einige AutoCADs 200x &
SWX 2kX

erstellt am: 10. Nov. 2004 10: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 kiltswitch 10 Unities + Antwort hilfreich

[...]Wie kann ich dann mit einem Programm auf diese Blöcke zugreifen und diese bspw. in der Zeichnung umpositionieren oder auch drehen usw...?[...]

Als Beispiel ein einfacher Block:

(-1 . <Objektname: 4020ebb0> )
(0 . "INSERT")
(330 . <Objektname: 4020ccf8> )
(5 . "C86")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "PROXYSLIEBLIENSGSLAYER")
(100 . "AcDbBlockReference")
(2 . "PROXYSLIEBLIENGSBLOCKNAME")
(10 17.0116 44.9085 0.0)
(41 . 1.0)
(42 . 1.0)
(43 . 1.0)
(50 . 3.65054)
(70 . 0)
(71 . 0)
(44 . 0.0)
(45 . 0.0)
(210 0.0 0.0 1.0)

in der Hilfe (den Unterschied zwischen AcadBlock, AcadBlockReference, AcadBlocks und AcadAttributeReference verstehen) nachschauen was all diese Zahlen bzw. Werte bedeuten.

Bitte erst dann nochmal die gleiche Frage stellen.

Von Null (sagst nich einmal woher die Werte kommen und wie sie eindeutig in der Zeichnung interpretiert werden sollen) fängt sich schwer an, bzw. grenzt das Wissen (leider auch mit stupiden Auswendiglernen verbunden) das du dir jetzt aneignest viele bzw. fast alle Denkfehler in der Zukunft und während der Planungsphase aus. Innerhlab der Hilfe hast du auch alle Methoden zur Modifizierung der Geometrie schön gezeigt. Einfach mal einen "Sendemast" als Block anlegen und dann rumspielen.

Beispiel aus der Hilfe

Code:

Sub Example_Rotate()
    ' This example creates a light weight polyline
    ' and then rotates that polyline.
    ' Create the polyline
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 11) As Double
    points(0) = 1: points(1) = 2
    points(2) = 1: points(3) = 3
    points(4) = 2: points(5) = 3
    points(6) = 3: points(7) = 3
    points(8) = 4: points(9) = 4
    points(10) = 4: points(11) = 2
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
    plineObj.Closed = True
    ZoomAll
    MsgBox "Rotate the polyline by 45 degrees.", , "Rotate Example"
    ' Define the rotation
    Dim basePoint(0 To 2) As Double
    Dim rotationAngle As Double
    basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0
    rotationAngle = 0.7853981  ' 45 degrees
    ' Rotate the polyline
    plineObj.Rotate basePoint, rotationAngle
    ZoomAll
    MsgBox "Rotation completed.", , "Rotate Example"
End Sub

Als Pflichlektüre betrachte ich eigentlich auch MAPCARS Seite wenn du das Innerste von AutoCAD auf eine leicht verdauliche Art und Weise schnell verstehen willst. Desweiteren empfehle ich dir eine "Externe" Schulung bei z.B. einem (LISP und oder VBA) Programierer der dir alle überlebenswichtigen Tricks zeigen kann. Eigentlich erst dann kannst du auch dein Pflichtenheft unmissverständlich und kompakt realisieren und die vieeelll zu allgemein gehaltenen Fragen im Vorraus ins Nirvana schicken.

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 10. Nov. 2004 10:44    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

Ich habe mir eben mal die Seite von mapcar angesehen. Scheint wirklich hilfreich zu sein, vor allem das Einsteiger Tutorial. Ich werde mir das heute Abend auf jeden Fall mal ansehen und ein bißchen üben.
Vielen Dank für den Tipp!

Wie kann ich den hier unten stehenden Code für den Block mal im AutoCAD testen? Einfach in die Befehlszeile einsetzen oder wie geht das?


<Moderator>
Ich hab hier einfach mal dieses elend lange Zitat rausgekickt. Bitte nur die Textstellen zitieren auf die man sich auch wirklich zitiert. Aber dass lange Codeblöcke dann zigmal erscheinen, muss ja nicht sein.

http://learn.to/quote
Diese Anleitung gilt zwar für das Usenet, aber vieles ist übertragbar.
</Moderator>

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 10. Nov. 2004 10:53    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 kiltswitch 10 Unities + Antwort hilfreich

um dich nochmehr zu verwirren  :
kopier dir mal folgendes in die Befehlszeile, oder guck hier nach.

(defun C:ROTATEINSERTS( / BLOCK ) 
  (vl-load-com)     
  (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
    (vlax-for ITEM BLOCK     
      (if(=(strcase(vla-get-objectname  ITEM))"ACDBBLOCKREFERENCE")
        (vl-catch-all-error-p
          (vl-catch-all-apply                 
            'vla-put-Rotation
            (list ITEM 0.5)
          )
        )
      )           
    )
  )   
)

Jetzt hast du mit ROTATEINSERTS einen neuen ACAD-Befehl, der dir alle Blockreferenzen um 30° dreht. Der Code ist Lisp, greift aber auf die gleichen ActiveX-Methoden wie VBA zurück. Das nur mal ein Schrottbeispiel zur Blockreferenzmanipulation um dir zu zeigen, das du den DXF-Weg schnellstens vergessen sollst!

Punkt. Ende. Definitiv. ( Jedenfalls für mich )

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...,
einige AutoCADs 200x &
SWX 2kX

erstellt am: 10. Nov. 2004 10:56    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 kiltswitch 10 Unities + Antwort hilfreich

Zitat aus der allmächtigen Onlinehilfe:
[...]
(entmake '((0 . "CIRCLE") (62 . 1) (10 4.0 4.0 0.0) (40 . 1.0)))
[...]

einfach mal in die schon bekannte Befehlszeile reinkopieren und mit <ENTER> bestätigen. Zusammenhänge nachlesen.

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 10. Nov. 2004 11:08    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

Mmh, ich habe das mal getestet. Der LISP-Code funktioniert auch, danke. Nur noch eine Frage, wie bekomme ich das geladene LISP wieder weg, also wie kann ich es wieder entfernen??

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 10. Nov. 2004 11:17    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 kiltswitch 10 Unities + Antwort hilfreich

Wenn du damit jetzt die entmake-Zeile meinst: Die wird nur ausgeführt, aber nicht gespeichert.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 10. Nov. 2004 11:33    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

Nein, ich meinte den Code von CADmium (das mit rotateinserts).
Aber ich habe gerade bemerkt, dass beim Schließen von AutoCAD das LISP auch beendet bzw. entfernt wird.

[Diese Nachricht wurde von kiltswitch am 10. Nov. 2004 editiert.]

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...,
einige AutoCADs 200x &
SWX 2kX

erstellt am: 10. Nov. 2004 12:41    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 kiltswitch 10 Unities + Antwort hilfreich

schau in der hilfe unter appload. Menü Extras: Anwendung laden

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

kiltswitch
Mitglied



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

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 10. Nov. 2004 12:47    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

Na mit dem Menü habe ich ja auch gearbeitet, aber ich konnte da das LISP-Programm nicht entladen. Es war in der unteren Liste grau hinterlegt und nicht aktivierbar - und der Entladen-Button war dann auch nicht aktiv. Erst als ich AutoCAD beendet habe, wurde auch das LISP aus der Liste entfernt.


Zitat:
Original erstellt von Proxy:
schau in der hilfe unter appload. Menü Extras: Anwendung laden


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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 10. Nov. 2004 15:53    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 kiltswitch 10 Unities + Antwort hilfreich

Man kann Lisp-Programme nicht entladen, und zwar aus folgendem Grund: Technisch besehen gibt es eigentlich keine Lisp-Programme, es gibt nur Listen und Atome in Lisp. Jede andere Programmiersprache trennt das Programm von den Daten - Lisp nicht. Es ist nur eine Gestaltungsfrage, ob man eine Datenliste als Programm benutzen kann/will.

Das heisst also: Jeder Liste, die als Programm benutzt wird, steht es frei, sich umzubenennen, Selbstmord zu begehen, sich vollzufressen oder einen Angriff gegen alle anderen Listen im Lisp-Speicher zu starten. Ein Entlade-Mechanismus hätte also i.d.R. schlechte Karten, ein Programm überhaupt wiederzufinden. Umgekehrt können auch drei Zeilen Quelltext reichen, im Speicher tausend Programme zu erzeugen.

Das einzige, was man in Lisp machen kann, ist das Abkoppeln einer Bindung, indem man dem Symbol explizit nil zuweist, also (setq c:rotateinserts nil). Damit ist sichergestellt, dass das Symbol keine Bindung mehr hat und der nächsten Abfallsammlung anheimfällt, und dass das Programm unter diesem Namen nicht mehr aufgerufen werden kann. NICHT sichergestellt ist dadurch allerdings, dass das Programm nicht mehr existiert.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

Andreas_Felix
Mitglied



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

Beiträge: 18
Registriert: 19.05.2003

erstellt am: 13. Nov. 2004 17:38    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 kiltswitch 10 Unities + Antwort hilfreich

Ist es wirklich so verkehrt sich mit dem Theme "dxf - Dateien ausserhalb von Autocad zu verändern" zu beschäftigen???

Also, bei uns im Büro gibt es sechs CAD Arbeitsplätze, davon 2 x die Vollversion und 4 x lt. Wir Zeichnen nur 2d - Möbelschnitte, einfache Konstruktionen aus Linien, Kreisen, Bemaßungen usw.

Schreibe ich jetzt ein VBA - Programm in ACAD das mir z.B. einen Korpusgrundriss mit variabler Breite einfügt (ohne die Seitenstärke zu verändern) kann dieses Programm nur auf 2 Arbeitsplätzen benutz werden

Schreibe ich dagegen das ganze ausserhalb ACAD mit VB6 steht es allen zur Verfügung. Natürlich muss ich vernünftig programmieren um Fehler zu vermeiden. Grundsätzlich ist ja dxf bei einfachen Zeichnungen gar nicht so schwer zu verstehen!!!

Grüße Andreas

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



Entwicklungsingenieur (m/w/d) Aerospace Electronics Schwerpunkt Mechatronik

Die Liebherr-Electronics and Drives GmbH ist Teil der internationalen Firmengruppe Liebherr. An zwei Standorten, Lindau und Biberach (Flugplatz), entwickelt und fertigt das Unternehmen hochqualitative Komponenten und Systeme für die Firmengruppe sowie für externe Kunden. Die Tätigkeitsfelder des Unternehmens umfassen die Bereiche elektrische Antriebstechnik, Elektronik und Steuerungstechnik....

Anzeige ansehenElektrotechnik, Elektronik
Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 13. Nov. 2004 18: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 kiltswitch 10 Unities + Antwort hilfreich

Hallo Andreas,

es wäre Unsinn, das jetzt in eine Grundsatzdiskussion ausarten zu lassen.
Eine Variantenkonstruktion immer gleicher Bauteile kann ich mir auch als eigenständiges Programm zum Erzeugen von DXF-Dateien vorstellen. Aber DXF-Dateien zu nehmen, diese dann zu verändern dass wäre ja ein Riesenaufwand, bis man überhaupt das richtige Element herausgefiltert hätte, weshalb ich in solchen Fällen davon abraten würde.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

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