Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Acad3DSolid's

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:  Acad3DSolid's (1616 mal gelesen)
dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 23. Dez. 2013 18:43    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 Leute,

bin Anfänger in VBA und möchte mehrere Acad3DSolid's erstellen lassen,
die aber alle ein anderes "center" haben.
Nachdem mehrere Versuche fehlgeschlagen sind,
frage ich jetzt im Forum ob das überhaupt möglich ist.
Für Tipps wäre ich sehr dankbar.

Dieter

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 27. Dez. 2013 19:00    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 dwg3d 10 Unities + Antwort hilfreich

Hallo Dieter,

herzlich willkommen im AutoCAD VBA Forum.

Wo klemmt es denn?
Zeig doch mal deinen bisherigen Code damit man sagen kann wo der Fehler liegt.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 28. Dez. 2013 16:15    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 Wilfried,

mit ein bisschen Überlegung und einem weiteren Versuch hatte ich es noch hinbekommen "der Groschen ist gefallen", jedenfalls in diesem Punkt.
Mir scheint allerdings, das LISP für AutoCAD mehr geeignet ist als VBA.
Schon das man für Volumenkörper nur die 3DSolid's verwenden kann, gefällt mir nicht.

Gruß
Dieter

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 28. Dez. 2013 16:57    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Schon das man für Volumenkörper nur die 3DSolid's verwenden kann, gefällt mir nicht.
Was hätte dies mit LISP oder VBA zu tun? 3D-Solids (und nur diese) sind Volumenkörper, egal ob mit VBA, mit LISP oder per Hand/Maus konstruiert.

------------------


www.cars4fun.at

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 30. Dez. 2013 10:24    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 Ingenieur Studio HOLLAUS,

LISP bietet (aus meiner Anfänger-Sicht) u. a. die Vorteile: man kann z. B. mit Quader konstruieren, und den kann man einfach über 2 Punkte setzen. In VBA kann man einen "Quader" nur über 3DSolid setzen, dazu muss man dann auch noch 4 Werte deklarieren/bestimmen und die Position der Zentrums berechnen, wenn der Quader in eine Konstruktion passen soll.

Gruß
Dieter

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 30. Dez. 2013 11:06    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 dwg3d 10 Unities + Antwort hilfreich

und wenn es so wäre, das die eine Sprache in einem Bereich einige Methoden bereitstellt, welche bei der anderen fehlt,
so wird es an anderer Stelle umgekehrt aber genau so sein !
Zudem gibt es in der Anwendung 2 Dinge die auch jeder L.I.S.Pler aus dem VBA gerne hätte,
die Dialogprogrammierung sowie die Gültigkeit der Funktionen über den aktuellen (Datei-)Namensraum hinweg.


zurück zum aktuellen Thema:
Ich vermute du programmierst mit VisualLisp und hast die vla-addbox fFunktion gefunden,
<allerdings passen deine Aussagen nicht 100%ig dazu, daher solltest du auch mal sagen WAS und WIE du es nutzt. Die einzige Funktion die deine Aussage erfüllen kann ist der AutoCAD-Befehl _Box/Quader und der steht ja jedem/jeder zur Verfügung>
diese sollte es jedoch auch in VBA geben, hier ein Adesk Beispiel:

Code:
Sub Example_AddBox()
    ' This example creates a box in model space.
      
    Dim boxObj As Acad3DSolid
    Dim length As Double, width As Double, height As Double
    Dim center(0 To 2) As Double
  
    ' Define the box
    center(0) = 5#: center(1) = 5#: center(2) = 0
    length = 5#: width = 7: height = 10#
  
    ' Create the box (3DSolid) object in model space
    Set boxObj = ThisDrawing.ModelSpace.AddBox(center, length, width, height)
  
    ' Change the viewing direction of the viewport to better see the box
    Dim NewDirection(0 To 2) As Double
    NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
    ThisDrawing.ActiveViewport.direction = NewDirection
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ZoomAll
  
End Sub

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

[Diese Nachricht wurde von cadffm am 30. Dez. 2013 editiert.]

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 30. Dez. 2013 14:10    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 cadffm,

natürlich ist mir auch schon aufgefallen, das es in VBA Dinge gibt, die man gern auch in LISP hätte.
Ich stelle mal meinen bisherigen VBA-Code ein, in den habe ich auch den letzten Teil deines Beispiels integriert:
Sub Korpus()
'KorpusMaße
KBreit = 2000
KHoch = 1200
KTief = 333
KMat = 25
'SeiteLinks
Dim SeiteLinks As Acad3DSolid
Dim SL(0 To 2) As Double
SL(0) = KMat / 2
SL(1) = 0
SL(2) = 0
SLlang = KMat
SLbreit = KTief
SLhoch = KHoch
Set SeiteLinks = ThisDrawing.ModelSpace.AddBox(SL, SLlang, SLbreit, SLhoch)
'SeiteRechts
Dim SeiteRechts As Acad3DSolid
Dim SR(3 To 5) As Double
SR(3) = KBreit - KMat / 2
SR(4) = 0
SR(5) = 0
SRlang = KMat
SRbreit = KTief
SRhoch = KHoch
Set SeiteRechts = ThisDrawing.ModelSpace.AddBox(SR, SRlang, SRbreit, SRhoch)
'BodenUnten
Dim BodenUnten As Acad3DSolid
Dim BU(6 To 8) As Double
BU(6) = KBreit / 2
BU(7) = 0
BU(8) = KHoch / -2 + KMat / 2
BUlang = KBreit - KMat - KMat
BUbreit = KTief
BUhoch = KMat
Set BodenUnten = ThisDrawing.ModelSpace.AddBox(BU, BUlang, BUbreit, BUhoch)
'BodenOben
Dim BodenOben As Acad3DSolid
Dim BO(9 To 11) As Double
BO(9) = KBreit / 2
BO(10) = 0
BO(11) = KHoch / 2 - KMat / 2
BOlang = KBreit - KMat - KMat
BObreit = KTief
BOhoch = KMat
Set BodenOben = ThisDrawing.ModelSpace.AddBox(BO, BOlang, BObreit, BOhoch)
    ' Change the viewing direction of the viewport to better see the box
    Dim NewDirection(0 To 2) As Double
    NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
    ThisDrawing.ActiveViewport.Direction = NewDirection
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ZoomAll
End Sub
Dieser Code erzeugt eine immer gleiche Konstruktion, bei der beliebige Abmessungen vorgegeben werden können.

In LISP bin ich damit allerdings schon gefühlte Lichtjahre weiter.
Allerdings habe ich in LISP jetzt an einem Punkt ein Problem:
es sollen nicht beliebige Maße übernommen werden, sondern z. B. soll es 3 mögliche Höhen geben,
(setq AS (getreal "AnzahlSchubkaesten 1 oder 2 oder 3 :"))
wenn jetzt eine 4 eingegeben wird, soll das Programm stoppen, auf Falscheingabe hinweisen und LISP-Neustart vorschlagen.
Bislang habe ich an dem Punkt nur folgende "Lösung":
(if(> AS 3) (command "_close" "_y"))
Das ist natürlich nicht die feine englische Art,
und bestimmt gibt es da etwas besseres!?
Für einen Tipp wäre ich sehr dankbar.
Muss ich damit besser das Forum wechseln?

Gruß
Dieter

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 30. Dez. 2013 14: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 Nur für dwg3d 10 Unities + Antwort hilfreich

Zitat:
In LISP bin ich damit allerdings schon gefühlte Lichtjahre weiter.
Was kann LISP bei obigem Beispiel besser?
Und eine Überlegung nebenbei: ich würde mir überlegen, Blöcke dafür zu verwenden. Da gibt es Skalierfaktoren (statt der Größen) und du kannst auch gleich Attribute mitgeben, um mehr Auswertbarkeit für Stücklisten mit Größenangaben zu erhalten. Just my 2c.

------------------


www.cars4fun.at

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 30. Dez. 2013 14:55    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von dwg3d:
an einem Punkt ein Problem:
es sollen nicht beliebige Maße übernommen werden, sondern z. B. soll es 3 mögliche Höhen geben,
(setq AS (getreal "AnzahlSchubkaesten 1 oder 2 oder 3 :"))
wenn jetzt eine 4 eingegeben wird, soll das Programm stoppen, auf Falscheingabe hinweisen und LISP-Neustart vorschlagen.

Da würde ich einen Umweg vorschlagen (Statt einer Zahl würde ich einen String abfragen) und zudem
hört es sich so an als wäre ein Abbruch überflüssig - aber ich kenne ja den Code nicht.

Schau dir das mal an:

Code:
(defun c:TEST ( / CH)
  (initget "1 2 3")
  (setq CH (if (setq CH (getkword "\nGrößenvariante eingeben [1/2/3] <2>: ")) (atoi CH) 2))
  (alert (strcat "Es wurde Größe " (rtos CH 2 0) " gwählt!"))
)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 31. Dez. 2013 10:55    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 Ingenieur Studio HOLLAUS,

obiges Beispiel waren ja nur erste Gehversuche in VBA.
In einer LISP-Konstruktion stelle ich zuerst Positionen ein (view, ucs, osmode)[bestimmt ist das in VBA auch möglich].
Für jedes Bauteil wird dann ein Layer erstellt, die Punkte p1 & p2 berechnen (list car cadr caddr), (command "quader" p1 p2) = Bauteil steht in Konstruktion.
Ein einfaches Möbel kann (ohne Beschläge) schon mal aus 30 Bauteilen bestehen, das wäre in VBA schon eine Menge Arbeit, in LISP ist es aber noch überschaubar.
BLÖCKE
Wenn man das mit Blöcken machen wollte, könnte man dann den Skalierfaktor einmal beim einfügen eingeben, und er stände dann automatisch auch im Attribut?
Konstruktion mit Blöcken wäre dann aber eine völlig andere Vorgehensweise, oder könnte man das auch in LISP (evtl. VBA) ablaufen lassen, wo man nur noch (je nach Programmierung) BREITE; HÖHE; TIEFE; BEDINGUNGEN vorbestimmen kann?

Guten Rutsch
Gruß
Dieter

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

Windows 8.1 Professional 64 Bit
AutoCAD 2020

erstellt am: 31. Dez. 2013 10:58    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 cadffm,

der Code aus (defun c:TEST ( / CH) funktioniert Super.
Allerdings frage ich mich, ob man nicht auf (atoi CH) verzichten kann, da durch (initget) ja nur richtige Eingaben akzeptiert werden!?
Bislang dachte ich auch, bei Auswahlabfragen (if), müssen zwangsläufig auch (then) und (else) im Code stehen.
Im LISP scheint das anders zu sein!?

Guten Rutsch
Gruß
Dieter

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 31. Dez. 2013 12: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 Nur für dwg3d 10 Unities + Antwort hilfreich

(command "quader" p1 p2) = Bauteil steht in Konstruktion.
QUADER ist ein AutoCAD-Befehl, keine Lisp-Funktion.
In Lisp sprichst du die Befehlszeile mit COMMAND an, in VBA mit SENDCOMMAND

  ThisDrawing.SendCommand "QUADER" & vbCr & p1 & vbCr & p2  // oder so ähnlich

Ein einfaches Möbel kann (ohne Beschläge) schon mal aus 30 Bauteilen bestehen, das wäre in VBA schon eine Menge Arbeit, in LISP ist es aber noch überschaubar.
Es ist in VBA nicht wirklich mehr Arbeit(abgesehen vom Variablen deklarieren), aber das zählt nicht wirklich oder?


BLÖCKE
Wenn man das mit Blöcken machen wollte, könnte man dann den Skalierfaktor einmal beim einfügen eingeben, und er stände dann automatisch auch im Attribut?

Wenn du einen entsprechenden Block hast (Attributwert mit Block-Platzhalter-Schriftfeld), dann ja (wobei du auch "dumm" den gewählten Faktor eintragen könntest "automatisch", Schriftfeld wäre aber cleverer. <BlockPlatzHalterBeispiel>


Konstruktion mit Blöcken wäre dann aber eine völlig andere Vorgehensweise, oder könnte man das auch in LISP (evtl. VBA) ablaufen lassen, wo man nur noch (je nach Programmierung) BREITE; HÖHE; TIEFE; BEDINGUNGEN vorbestimmen kann?
Ob man einen Block nehmen kann mußt du wissen (wir kennen die Formen und Bedingungen ja nicht), ansonsten mußt man noch mal generell sagen:
Über eine Programmierung steht dir so ziemlich alles zur Verfügung was dir ohne Programmierung auch zur Verfügung steht und darüber hinaus noch viel mehr !


Allerdings frage ich mich, ob man nicht auf (atoi CH) verzichten kann, da durch (initget) ja nur richtige Eingaben akzeptiert werden!?
getkword liefert einen String, in deinem Beispiel wolltest du eine Zahl haben - ob du auch mit einem String leben kannst mußt du wissen, wir kennen ja deinen Code nicht.


Bislang dachte ich auch, bei Auswahlabfragen (if), müssen zwangsläufig auch (then) und (else) im Code stehen.
Im LISP scheint das anders zu sein!?

IF und THEN sind zwingend nötig, Else ist optional: (if...


------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 02. Jan. 2014 12:05    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 cadffm & alle interessierten,

komme an einem Punkt nicht weiter,
es soll ein Bauteil in Z-Richtung kopiert werden:
(setq LA (- OKF UKF RB RB))
(command "_copy" (entlast) "" "0,0,0" "0,0,LA"); not works
AutoCAD kann offensichtlich das LA an der Stelle nicht verarbeiten.
Kann man an der Stelle nichts anderes als Zahlen einsetzen?

Gruß
Dieter

PS:
Muss evtl. das Forum wechseln, da ich (im Moment noch) die Konstruktion mit LISP bevorzuge

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 02. Jan. 2014 12:13    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 dwg3d 10 Unities + Antwort hilfreich

Ja du solltest mit diesem Thema, welches eindeutig zu "Lisp-Programmierhilfe" zählt,
das Forum wechseln (mach bitt dort einen neuen Thread auf, mit Verweis(Link) auf diesen hier als Vorgeschichte).

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 04. Mrz. 2014 18:20    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 dwg3d 10 Unities + Antwort hilfreich

Mal ne dumme frage warum nicht eine VBA routine schreiben die entweder etwas sweept oder extrudiert ? Minimal mehr Aufwand aber maximal flexibel.

Zum Thema lisp - lisp ist eine Insellösung Ausser in ACAD nicht zu gebrauchen. VBA gibt es übergreifend in vielen Anwendungen bis zum Betriebsystem und lässt sich auch wunderbar mit externen dlls verheiraten.

mfg
Thomas

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< for sale !

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

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: 06. Mrz. 2014 10:15    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 dwg3d 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rexxitall:
Mal ne dumme frage warum nicht eine VBA routine schreiben die entweder etwas sweept oder extrudiert ? Minimal mehr Aufwand aber maximal flexibel.

Weil die VBA-Unterstützung auf absehbare Zeit nicht mehr gegeben sein wird. Dann wohl doch besser .Net (und da würde ich nicht auf VB sondern auf c#+.Net setzen)
Zitat:
Original erstellt von rexxitall:
... Zum Thema lisp - lisp ist eine Insellösung Ausser in ACAD nicht zu gebrauchen. VBA gibt es übergreifend in vielen Anwendungen bis zum Betriebsystem und lässt sich auch wunderbar mit externen dlls verheiraten.

Weil Lisp leistungsstärker ist als VBA. Lisp kommt aus dem Bereich der künstlichen Intelligenz und ist keinesfalls nur als Insellösung für AutoCAD anzusehen. (die Vorteile, die Lisp bietet werden jedoch seltenst ausgeschöpft. Imgrunde würden sehr viele Lisp-Tools als einfache Scripte genauso funktionieren)
Aber suche mal nach CommonLisp

Und meine persönliche Meinung ist: Eine Programmiersprache bestimmt nur die Syntax. Die Logik, die ein Programm braucht, ist davon vollkommen unabhängig. Daher ist es aus meiner Sicht grundsätzlich möglich, seine Aufgaben in verschiedenen Sprachen umzusetzen - je nach dem, welche API die besseren Möglichkeiten für die jeweilie Aufgabe bietet.


------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

dwg3d
Mitglied
Techniker- Holztechnik


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

Beiträge: 63
Registriert: 05.04.2013

erstellt am: 06. Mrz. 2014 20:48    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 Leute,

es freut mich zu sehen,
das mein Beitrag immer noch auf Interesse stößt
Sweepen und/oder extrudieren kann in der Möbelkonstruktion auch schon mal erforderlich sein, aber der Quader ist das Bauteil, welches mit Abstand die meiste Anwendung findet.
Wenn man z. B. einen Möbelkorpus (der aus 4 Bauteilen besteht)in einem Stück extrudieren würde, hätte man später in der Stückliste nur ein Bauteil, anstatt 4 Bauteile mit den jeweils richtigen Maßen.
In einem LISP-Programm kann man Quader ganz hervorragend erzeugen und positionieren. Mit VBA ist es auch möglich, aber es ist wesentlich mehr Aufwand.

Gruß
Dieter

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