FastFiber

Lisp-routine voor maken ve wblock

Gestart door thomas151283, do 07 04 2005, 15:30:39

Vorige topic - Volgende topic

thomas151283

Ziet er iemand waarom mijn routine steeds vastloopt?
Ze loopt steeds vast vanaf ";;; inserteren referentie"

Thomas



(defun c:attpl2   ()
;;; style maakt een nieuwe tekststijl aan: genaamd "attributes"
 (command "style" "attributes" "tahoma" "15" "" "" "" "")
;;; layer maakt een nieuw laag aan: genaamd "attributes"
 (command "layer" "m" "attributes" "c" "8" "" "")
;;; Selecteren van hoekpunten
 (setq lop (getpoint "\nLinker benedenhoekpunt aub.: "))
 (setq rbp (getcorner lop "\nRechter bovenhoekpunt aub.: "))
 (setq rop (list (car rbp) (cadr lop)))
 (setq lbp (list (car lop) (cadr rbp)))
;;; Breedte en Hoogte bepalen
 (setq breedte (distance lop rop))
 (setq hoogte (distance lop lbp))
;;; Inserteerpunt Attribute Materiaal (PartMat)
 (setq   insertmat
    (getpoint
      "\nDuid een invoegpunt voor de attributes aan aub: "
    )
 )
 (command "attdef"       "V"           ""
      "PartMat"       "Geef de Materiaalsoort op: "
      ""          insertmat        "0"
      ""
     )
;;; Inserteren Referentie
 (setq   insertref
    (getpoint
      (command
        "attdef"      "V"         ""
        "PartRef"      "Geef een referentienaam op: "
        ""         ""
       )
    )
 )
;;; Inserteren Lengte (=hoogte)
 (setq   insertl
    (getpoint
      (command "attdef"      "V"        ""
          "PartL"      "Geef de hoogte op: "
          hoogte      ""
         )
    )
 )
;;; Inserteren Breedte
 (setq   insertw
    (getpoint
      (command "attdef"      "V"        ""
          "PartW"      "Geef de breedte op: "
          breedte      ""
         )
    )
 )
;;; Maken wblock
 (command "filedia" "1")
 (command "wblock"
      (setq bestandsnaam
        (getstring
          "\nGeef een bestandsnaam voor het wblock op aub: "
        )
      )
      ""
      lop
;;; basispunt wblock
      lop
      rbp
      rop
      lbp
      insertmat
      insertref
      insertl
      insertw
;;; selecteren elementen
      ""
 )
;;; (princ)
;;;  (command "insert")
)

Joop

    ;;; Inserteren Referentie
     (setq   insertref
        (getpoint
          (command
            "attdef"      "V"         ""
            "PartRef"      "Geef een referentienaam op: "
            ""         ""
           )
        )
     )[/list:u]

    Je bent vergeten een insertionpoint op te geven. :)
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

thomas151283

Joop,

met die "v" worden alle attributes alligned onder elkaar weergegeven.

Hoe kan ik hierbij dan een insertion point opgeven / weergeven / bepalen ?

MVG, Thomas

Joop

Waarom vraag je dan om een point?
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

thomas151283

Als ik er een wblock van wil maken, moeten alle elementen geselecteerd worden. als ik deze via hun insertionpoint kan nemen ben ik zeker dat ze er altijd bij zijn.

Maar blijkbaat zou ik al beter met een selectiekader en ssget werken.

Toch al bedankt
MVG Thomas

Joop

Als je de routine in VisualLisp opent en je zet een breakpoint in voor de routine waar hij vastloopt, kun je stap voor stap door de resterende code lopen.
Het blijkt dan dat je een getpoint vraagt en een commando geeft in plaats van coordinaten.
Als je de vraag getpoint verwijderd (plus natuurlijk de haakjes) gaat hijn door totdat hij weer vastloopt op de volgende getpoint.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

HofCAD

Citaat van: thomas151283Joop,

met die "v" worden alle attributes alligned onder elkaar weergegeven.

Hoe kan ik hierbij dan een insertion point opgeven / weergeven / bepalen ?

MVG, Thomas


Beste Thomas,

Die V is van Verify zie de help van het commando ATTDEF en
de AutoCAD variabele AFLAGS.
Dus een attributdefiniteie met Verify gaat:
(command "ATTDEF" "V" "" "TAG" "PROMPT" "DEFWAARDE" P0 HOOGTE HOEK)
of
(setvar "AFLAGS" 4)
(command "ATTDEF" "" "TAG" "PROMPT" "DEFWAARDE" P0 HOOGTE HOEK)

Een attributdefiniteie zonder Invisible, Constant, Verify en Preset gaat:
(setvar "AFLAGS" 0)
(command "ATTDEF" "" "TAG" "PROMPT" "DEFWAARDE" P0 HOOGTE HOEK)


Groetjes HofCAD CSI
ACADcadabra

FastFiber