PICKFIRST
Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.
Toon bijdragen Menu(setq PlotStyleTables
(vlax-safearray->list
(vlax-variant-value
(vla-getplotstyletablenames
ActiveLayout
)
)
)
)
Citaat van: julien op ma 14 09 2020, 13:54:31Voor een 30 graden isometrie is dat de gouden tip.
Er is in autocad een hulpmiddel om isometrisch te tekenen:
https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2020/ENU/AutoCAD-Core/files/GUID-B46904E8-F4E2-43D8-AA74-E06B0D9E83FB-htm.html
Citaat van: Welles op ma 14 09 2020, 12:49:09De magenta lijnen in mijn 2e uitleg zijn horizontaal. Dit is bij jou niet het geval. En ik denk dat je bij het tekenen van de Arc start- en eindpunt hebt omgedraaid.
Hopelijk kan je me de juiste weg wijzen?
Citaat van: bart op ma 14 09 2020, 13:10:10Je hebt mijn antwoorden niet goed begrepen. Bij ouderwetse handmatige isometrische projecties (potlood, papier, liniaal, passer) worden de door mij weergegeven methoden gebruikt om een ellips m.b.v. cirkelsegmenten te benaderen.
De schuine projectie van een cirkel is geen cirkel
maar een ellips
(defun KGA_Conv_Pickset_To_ObjectList (ss / i ret)
(if ss
(repeat (setq i (sslength ss))
(setq ret (cons (vlax-ename->vla-object (ssname ss (setq i (1- i)))) ret))
)
)
)
(defun KGA_Geom_Angle (pt1 pt2 pt3 / ang)
(cond
((<= (- pi) (setq ang (- (angle pt2 pt3) (angle pt2 pt1))) pi)
ang
)
((minusp ang)
(+ ang pi pi)
)
(T
(- ang pi pi)
)
)
)
(defun KGA_List_Divide_3 (lst / ret)
(repeat (/ (length lst) 3)
(setq ret (cons (list (car lst) (cadr lst) (caddr lst)) ret))
(setq lst (cdddr lst))
)
(reverse ret)
)
; (Fix3DPolyZigZag (vlax-ename->vla-object (car (entsel))))
; 2 opeenvolgende scherpe hoeken van 15 graden of kleiner worden als zaagtand beschouwd.
(defun Fix3DPolyZigZag (obj / ptLst tmp)
(setq ptLst (KGA_List_Divide_3 (vlax-get obj 'coordinates)))
(setq tmp
(mapcar
'(lambda (ptPre ptCur ptAft / ang)
(cond
((not ptPre)
nil
)
((not ptAft)
nil
)
((< (/ pi 12.0) (setq ang (abs (KGA_Geom_Angle ptPre ptCur ptAft))))
nil
)
(T
ang
)
)
)
(cons nil ptLst)
ptLst
(append (cdr ptLst) '(nil))
)
)
(setq ptLst
(vl-remove
nil
(mapcar
'(lambda (angPre angCur angAft pt)
(cond
((not angCur)
pt
)
((< angCur angPre)
nil
)
((< angCur angAft)
nil
)
(T
pt
)
)
)
(cons nil tmp)
tmp
(append (cdr tmp) '(nil))
ptLst
)
)
)
(vlax-put obj 'coordinates (apply 'append ptLst))
)
(defun c:DwgStarNew ( / doc ss)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(vla-endundomark doc)
(vla-startundomark doc)
(if (setq ss (ssget '((0 . "POLYLINE") (-4 . "&=") (70 . 8))))
(foreach obj (KGA_Conv_Pickset_To_ObjectList ss)
(Fix3DPolyZigZag obj)
)
)
(vla-endundomark doc)
(princ)
)
Citaat van: roy_043 op do 14 05 2020, 11:24:29
Ik wil wel naar 1 of 2 dingen kijken.
Citaat van: roy_043 op do 14 05 2020, 11:24:29
Ik wil wel naar 1 of 2 dingen kijken.
Citaat van: jean.vdb op ma 08 06 2020, 14:00:06
Liefst het eerst item COORD dat het nuttigste is.
(defun c:coord()
(setq cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "zoom" "a")
(setq start (getpoint "Linker bovenhoek: ")) (terpri)
(setq startx (car start)
starty (cadr start)
txtbr (cdr (assoc 41 (tblsearch "style" (getvar "textstyle")))))
(setq txthgt (udist "Hoogte tekst" 1.75))
(setq brlet (udist "Breedte kolom letters" (* txtbr txthgt 3.5)))
(setq brcoor (udist "Breedte kolommen coordinaten" (* brlet 2.0)))
(setq eindx (+ startx brlet brcoor brcoor))
(setq eind (list eindx starty))
(setq letx (+ startx (/ brlet 2.0)))
(setq y (- starty (+ txthgt (/ txthgt 2.0))))
(setq letXY (list letx y))
(command "text" "c" letXY txthgt 100.0 "Pt")
(setq xcx (+ brlet startx (/ brcoor 2.0)))
(setq xc (list xcx y))
(command "text" "c" xc txthgt 100.0 "X")
(setq ycx (+ xcx brcoor))
(setq yc (list ycx y))
(command "text" "c" yc txthgt 100.0 "Y")
(setq y (- y (+ txthgt txthgt)))
(setq xcx (+ xcx (* txtbr txthgt 2.5)))
(setq ycx (+ xcx brcoor))
(setq txt (getstring "Letter: ")) (terpri)
(while (/= txt "STOP")
(setq letXY (list letx y))
(command "text" "c" letXY txthgt 100.0 txt)
(setq xc (list xcx y))
(setq punt (getpoint "Punt: ")) (terpri)
(setq puntx (rtos (car punt) 2 2))
(setq punty (rtos (cadr punt) 2 2))
(command "text" "r" xc txthgt 100.0 puntx)
(setq yc (list ycx y))
(command "text" "r" yc txthgt 100.0 punty)
(setq y (- y (+ txthgt (/ txthgt 2))))
(setq txt (getstring "Letter: ")) (terpri)
)
(setq y (+ y txthgt))
(princ y)
(command "zoom" "a")
(command "line" start eind "")
(command "offset" (* txthgt 2) (entlast) xc "")
(setq eind (list startx y))
(command "offset" "t" (entlast) eind "")
(command "line" start eind "")
(command "offset" brlet (entlast) yc "")
(command "offset" brcoor (entlast) yc "")
(command "offset" brcoor (entlast) yc "")
(setvar "cmdecho" cmdecho)
)