Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  problem mit variablen insert

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:  problem mit variablen insert (923 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 05. Nov. 2004 13: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

Hi !
ich möchte einen block einfügen wobei der richtungswinkel entweder autom. eingefügt wird oder am prompt abgefragt wird. wenn der vorgegebene winkel (InsWin=-1) ist, dann muss der user diesen winkel definieren.
soweit klappt es auch - nur der winkel wird immer autom. abgefragt - ist dann aber im code noch nicht in der if-abfrage !

hat jemand von euch eine idee, was ich falsch gemacht haben könnte.

gruß Jan :-)

hier mein code:
(princ "\nEinfügepunkt")
(command "_.insert"
DWGFile
) ;Dateiname
(command pause) ;Einfügepunkt
(princ "\nX-Faktor")
(command pause) ;X-Faktor

(princ "\nY-Faktor")
(command pause) ;Y-Faktor

(if (> InsWin -1.0)
  (command InsWin) ;übernehmen des definierten Winkels
  (progn ;;benutzerdefiniert
(princ "\nDrehwinkel")
(command pause)
) ;end-progn
  ) ;endif

------------------
jan :-)

------------------
jan :-)

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

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

Hi,
WO und WIE wird denn "InsWin" definiert??

------------------
Ciao,
Marc

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

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

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

hallo marc,

InsWin beinhaltet den Winkel mit dem der Block ggf. eingefügt werden soll - REAL, wenn Du so willst !

Gruß Jan :-)

------------------
jan :-)

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

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

Hi Jan,
arbeitest Du jetzt für den Geheimdienst oder warum postest Du nicht den GESAMTCODE?

Na ja egal.

Was soll eigentlich der ganze "(command pause)" Kasperkram? *grins*

Die Zeile tut's auch:

Code:

(command "_.-insert" DWGFile pause pause (if (> InsWin -1.0) InsWin pause))


...

------------------
Ciao,
Marc

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

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1213
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

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

hallo marc,

ich arbeite für keinen nachrichten dienst - ich habe nur das posting auf den erforderlichen bereich begrenzt !

hier dann alles:

  (defun block:fmaninput ;Block/Blöcke einfügen in Verbindung mit dem Detailmanager
                          (block:fmaninput#list
;Liste mit den Parametern gem. Detailmanager
  block:fmaninput#multi
;nil/T, ob das Einfügen mehrmals wiederholt werden soll
  /
  ;;Parameterdefinition für block:fmaninput#list
  ;;--------------------------------------------
  DWGfile ;Blockdatei mit Extension
  DWGPath
  ;; Blockdatei incl. Verzeichnisangabe aber ohne Extension
  ;;            (Bsp.: "F:\WS\Bib\Wssym\EINGANG\EINGA01")
  Layer
  ;; Layer, auf das das Detail gelegt werden soll
  ;; nil .... aktueller Layer
  UseOptions
  ;; Optionen verwenden (0 = nicht verwenden, 1 = verwenden)
  ScalX
  ;; Skalierungsfaktor des Details in X-Richtung aus Optionen
  ScalY
  ;; Skalierungsfaktor des Details in Y-Richtung aus Optionen
  ScalZ
  ;; Skalierungsfaktor des Details in Z-Richtung aus Optionen
  InsWin
  ;; Verdrehungswinkel in Altgrad
  Explode
  ;; Block auflösen (0 = nicht auflösen, 1 = auflösen)
  flag#InsWin
  dialog:ask4real#Infoline ;Textzeile - [STR]
      dialog:ask4_real#default ;Vorgabewert - [REAL]
      dialog:ask4_real#nk ;Nachkommastellen - [INT]
      User:ScalX
  )

;;;--------------------------- Textzuweisung ----------------------------------

  (setq %block:fmaninput#msg001%
"\nBlock "
%block:fmaninput#msg002%
" nicht gefunden !"
%block:fmaninput#msg010%
"\nEinfügepunkt angeben: "
%block:fmaninput#msg011%
"\nX-Skalierfaktor eingeben:"
%block:fmaninput#msg012%
"\nY-Skalierfaktor eingeben <X-skalierfaktor verwenden>:"
%block:fmaninput#msg013%
"\nDrehwinkel angeben: "
%block:fmaninput#msg020%
"\nLayer "
%block:fmaninput#msg021%
" nicht vorhanden !\nverwende aktuellen Layer !"
)end-setq

;;;--------------------------- Textzuweisung - ENDE ---------------------------


    (setq
      ;;Parameterdefinition für block:fmaninput#list
      ;;--------------------------------------------
      DWGPath (nth 0 block:fmaninput#list)
; Blockdatei incl. Verzeichnisangabe aber OHNE Extension
      DWGFile (strcat DWGPath ".dwg"); Blockdatei incl. Verzeichnisangabe aber MIT Extension
      Layer (nth 1 block:fmaninput#list)
; Layer, auf das das Detail gelegt werden soll
      UseOptions (nth 2 block:fmaninput#list)
; Optionen verwenden (0 = nicht verwenden, 1 = verwenden)
      ScalX (nth 3 block:fmaninput#list)
; Skalierungsfaktor des Details in X-Richtung aus Optionen
      ScalY (nth 4 block:fmaninput#list)
; Skalierungsfaktor des Details in Y-Richtung aus Optionen
      ScalZ (nth 5 block:fmaninput#list)
; Skalierungsfaktor des Details in Z-Richtung aus Optionen
      InsWin (nth 6 block:fmaninput#list)
; Verdrehungswinkel in Altgrad
      Explode (nth 7 block:fmaninput#list)
; Block auflösen (0 = nicht auflösen, 1 = auflösen)
      ) ;end-setq

    (setq while_flag T)

(princ "\nInsWin: ")(princ InsWin)(princ " - ")(princ (type InsWin))
    ;;Ist ein Richtungswinkel definiert ?
    (if (=  InsWin -1.0)
      (progn
      (princ "\nnicht definiert!")
      (setq flag#InsWin nil);nicht definiert
)
      (progn
      (princ "\ndefiniert!")
      (setq flag#InsWin T);definiert
)
    );endif


    (if Layer ;aktuellen Layer setzen
      (progn
     
      ;;aktuellen Layer auf Basis von Layerkey in
;;Zusammenarbeit mit der zentralen WS-Layersteuerung
  (layer:set_eaws
layer:set#key ;Layerkey
layer:set#command ;EAWS-Befehlsname
);end-layer:set_eaws
       
(if (tblsearch "Layer" Layer)
  (command "_.-layer" "_on" Layer ;einschalten
  "_thaw" Layer ;tauen
  "_set" Layer ;aktuell setzen
  "") ;end-command

  (princ ;;Layer nicht vorhanden - verwende aktuellen Layer
(strcat %block:fmaninput#msg020% ;Layer:
Layer
%block:fmaninput#msg021% ;nicht vorhanden
) ;end-strcat
) ;end-princ
  ) ;endif
) ;end-progn
      ) ;endif

    (if (or
  (= scalx 0.0)
  (= scaly 0.0)
  (= scalz 0.0)
  ) ;end-and
      (setq useoptions 0)
      ) ;endif-or

    (if (findfile dwgfile)
      (progn

(while while_flag

;;; Optionen verwenden (0 = nicht verwenden, 1 = verwenden)
          ;;---------------------- einfach einfügen --------------
  (if (= UseOptions 1)

    ;;Scale/_X/_Y/_Z/_Rotate/_PScale/_PX/_PY/_PZ/_Protate
    ;;weitere Optionen bei _Rotate/_PScale/_PX/_PY/_PZ/_Protate: Corner/XYZ
    (progn
      (command "_.insert"
      DWGFile ;Dateiname
      )
      (princ %block:fmaninput#msg010%) ;Einfügepunkt
      (command pause)
      (command "_xyz" ScalX ScalY ScalZ)
     
      (if flag#InsWin
      (command InsWin)
      (progn;;benutzerdefiniert
        (princ %block:fmaninput#msg013%)
        (command pause)
              );end-progn
        );endif
      ) ;end-progn
    ;;---------------- benutzerdefinierter Input -----------
    (progn
    (princ "\n---------------- benutzerdefinierter Input -----------: ")
      (princ %block:fmaninput#msg010%)
      (command "_.insert"
      DWGFile
      ) ;Dateiname
      (command pause) ;Einfügepunkt
    ;; (princ "\nhinter dem command ")
    ;; (setq User:ScalX
    ;;  (dialog:ask4real;Abfrage eines Real-Wertes am Prompt
;;       %block:fmaninput#msg011% ;Textzeile - [STR]
;;       1.0 ;Vorgabewert - [REAL]
;;       1 ;Nachkommastellen - [INT]
; ;end-dialog:ask4real   
; ;end-setq - User:ScalX
(princ %block:fmaninput#msg011%)
      (command pause) ;X-Faktor
     
      (princ %block:fmaninput#msg012%)
      (command pause) ;Y-Faktor
   
    (if (>  InsWin -1.0)
        (command InsWin)
      (progn;;benutzerdefiniert
        (princ %block:fmaninput#msg013%)
        (command pause)
              );end-progn
        );endif
   
     
  ;; (princ %block:fmaninput#msg013%)
  ;; (command pause) ;Drehung
      ) ;end-progn
    ) ;endif - UseOptions

;;; Block auflösen (0 = nicht auflösen, 1 = auflösen)
  (if (= Explode 1)
    (command "_explode" (entlast) "")
    ) ;endif - Explode

  (if block:fmaninput#multi
    (setq while_flag T) ;mehrfach abfrage
    (setq while_flag nil) ;und tschüss
    ) ;endif

  ) ;end-while
) ;end-progn - Block vorhanden

      (princ (strcat %block:fmaninput#msg001% ;Block
    DWGFile ;Name der Blockdatei
    %block:fmaninput#msg002%
    ) ;nicht gefunden
    ) ;end-princ

      ) ;endif - findfile
      (princ)
    ) ;end-defun - block:fmaninput

------------------
jan :-)

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