CADsite

  • do 23 09 2021, 01:34:48
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1] 2   Omlaag

Auteur Topic: Afmetingen in rechthoek  (gelezen 5227 keer)

Cad_user86

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 211
    • Bekijk profiel
Afmetingen in rechthoek
« Gepost op: wo 19 10 2016, 09:41:03 »

Hallo,

Voor mijn zaagplannen had ik graag in mijn rechthoeken automatisch de afmetingen gekregen (lengtexbreedte) in het midden van de rechthoek als ik deze teken.

Bestaat hier een command of lisp routine voor?

Ik heb internet even gezocht maar vrees dat ik niet de juiste benamingen gebruik in de zoekfuncties.

Ik kwam volgende tegen maar dit werkt niet bij me:

(defun c:LabelRec (/ ActDoc CurSpace Ht ss cnt Ent EntData VerPoints tmpEnt Wid Len Pt Str tmpText tmpDist1 tmpDist2)
; Label rectangles with length and width in middle of them.
(vl-load-com)
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(if (= (getvar "cvport") 1)
(setq CurSpace (vla-get-PaperSpace ActDoc))
(setq CurSpace (vla-get-ModelSpace ActDoc))
)
(if (and (setq Ht (getreal "\n Enter height of text: ")) (setq ss (ssget '((0 . "*POLYLINE")))))
(progn
(setq cnt 0)
(while (setq Ent (ssname ss cnt))
(setq EntData (entget Ent))
(if (= (cdr (assoc 0 EntData)) "LWPOLYLINE")
(setq VerPoints (vlax-get (vlax-ename->vla-object Ent) 'Coordinates))
(progn
(setq VerPoints nil)
(setq tmpEnt (entnext Ent))
(while (not (equal (cdr (assoc 0 (entget tmpEnt))) "SEQEND"))
(setq tmpPt (cdr (assoc 10 (entget tmpEnt))))
(setq VerPoints (append VerPoints (list (car tmpPt))))
(setq VerPoints (append VerPoints (list (cadr tmpPt))))
(setq tmpEnt (entnext tmpEnt))
)
)
)
(if (= (length VerPoints) 8)
(progn
(setq tmpDist1 (distance (list (nth 0 VerPOints) (nth 1 VerPoints)) (list (nth 2 VerPoints) (nth 3 VerPoints))))
(setq tmpDist2 (distance (list (nth 2 VerPOints) (nth 3 VerPoints)) (list (nth 4 VerPoints) (nth 5 VerPoints))))
(if (< tmpDist1 tmpDist2)
(setq Len tmpDist2 Wid tmpDist1)
(setq Len tmpDist1 Wid tmpDist2)
)
(setq Pt (list (/ (+ (nth 0 VerPoints) (nth 4 VerPoints)) 2.0) (/ (+ (nth 1 VerPoints) (nth 5 VerPoints)) 2.0) 0.0))
(setq Str (strcat (rtos Len 2 2) "x" (rtos Wid 2 2)))
(setq tmpText (vla-AddText CurSpace Str (vlax-3d-point Pt) Ht))
(vla-put-Alignment tmpText 4)
(vla-put-TextAlignmentPoint tmpText (vlax-3d-point Pt))
)
)
(setq cnt (1+ cnt))
)



Bedankt
Cad_User86
Gelogd

julien

  • Administrator
  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2992
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #1 Gepost op: wo 19 10 2016, 10:48:37 »

Wij zijn hier afgestapt om zaagplannen in AutoCAD te maken.
We gebruiken hiervoor het gratis:
http://www.maxcutsoftware.com
Die maakt naast optimalisaties ook zaagplannen waar je de naam van je onderdeel kan opzetten en ook de zaagmaten. Is dat iets voor jou?
Gelogd

gery

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 530
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #2 Gepost op: wo 19 10 2016, 12:32:41 »

Cad_user86, met welke (versie van) AutoCAD werkt u?
Gelogd
AutoCAD 2020 - Windows 10

Cad_user86

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 211
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #3 Gepost op: wo 19 10 2016, 13:34:52 »

Versie 2014
Gelogd

gery

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 530
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #4 Gepost op: wo 19 10 2016, 13:47:45 »

Versie 2014
Dus de full versie en niet de LT?
Gelogd
AutoCAD 2020 - Windows 10

Cad_user86

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 211
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #5 Gepost op: wo 19 10 2016, 13:58:25 »

ja, volledige versie
Gelogd

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1470
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: Afmetingen in rechthoek
« Reactie #6 Gepost op: wo 19 10 2016, 14:57:30 »

@Cad_User86:
De code in de OP is niet compleet. Wellicht een copy-paste fout?
En: Gebruik a.u.b. CODE-tags.
Gelogd

Cad_user86

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 211
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #7 Gepost op: wo 19 10 2016, 15:22:07 »

Dag Roy,

Ik ken zelf niets van LISP, gewoon van internet gekopieerd zoals het hier staat (site van autodesk)
Wat is "OP"? en wat zijn CODE-tags?

Bedankt! :vreegoe:
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2427
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: Afmetingen in rechthoek
« Reactie #8 Gepost op: wo 19 10 2016, 15:33:34 »

Dag Roy,

Ik ken zelf niets van LISP, gewoon van internet gekopieerd zoals het hier staat (site van autodesk)
Wat is "OP"? en wat zijn CODE-tags?

Bedankt! :vreegoe:
Zie afbeelding...
Gelogd

gery

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 530
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #9 Gepost op: wo 19 10 2016, 18:54:45 »

Wat is "OP"?
OpeningsPost?

en deze tekst staat tussen code-tags
Gelogd
AutoCAD 2020 - Windows 10

gery

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 530
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #10 Gepost op: wo 19 10 2016, 21:08:33 »

Als je bij de code in de OP op het einde 3 sluitende haken toevoegt, werkt het. Ziehier de volledige code:
(defun c:LabelRec (/ ActDoc CurSpace Ht ss cnt Ent EntData VerPoints tmpEnt Wid Len Pt Str tmpPt tmpText tmpDist1 tmpDist2)
; Label rectangles with length and width in middle of them.
(vl-load-com)
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(if (= (getvar "cvport") 1)
(setq CurSpace (vla-get-PaperSpace ActDoc))
(setq CurSpace (vla-get-ModelSpace ActDoc))
)
(if (and (setq Ht (getreal "\n Enter height of text: ")) (setq ss (ssget '((0 . "*POLYLINE")))))
(progn
(setq cnt 0)
(while (setq Ent (ssname ss cnt))
(setq EntData (entget Ent))
(if (= (cdr (assoc 0 EntData)) "LWPOLYLINE")
(setq VerPoints (vlax-get (vlax-ename->vla-object Ent) 'Coordinates))
(progn
(setq VerPoints nil)
(setq tmpEnt (entnext Ent))
(while (not (equal (cdr (assoc 0 (entget tmpEnt))) "SEQEND"))
(setq tmpPt (cdr (assoc 10 (entget tmpEnt))))
(setq VerPoints (append VerPoints (list (car tmpPt))))
(setq VerPoints (append VerPoints (list (cadr tmpPt))))
(setq tmpEnt (entnext tmpEnt))
)
)
)
(if (= (length VerPoints) 8)
(progn
(setq tmpDist1 (distance (list (nth 0 VerPOints) (nth 1 VerPoints)) (list (nth 2 VerPoints) (nth 3 VerPoints))))
(setq tmpDist2 (distance (list (nth 2 VerPOints) (nth 3 VerPoints)) (list (nth 4 VerPoints) (nth 5 VerPoints))))
(if (< tmpDist1 tmpDist2)
(setq Len tmpDist2 Wid tmpDist1)
(setq Len tmpDist1 Wid tmpDist2)
)
(setq Pt (list (/ (+ (nth 0 VerPoints) (nth 4 VerPoints)) 2.0) (/ (+ (nth 1 VerPoints) (nth 5 VerPoints)) 2.0) 0.0))
(setq Str (strcat (rtos Len 2 2) "x" (rtos Wid 2 2)))
(setq tmpText (vla-AddText CurSpace Str (vlax-3d-point Pt) Ht))
(vla-put-Alignment tmpText 4)
(vla-put-TextAlignmentPoint tmpText (vlax-3d-point Pt))
)
)
(setq cnt (1+ cnt))
)
)
)
)
Gelogd
AutoCAD 2020 - Windows 10

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1470
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: Afmetingen in rechthoek
« Reactie #11 Gepost op: do 20 10 2016, 00:54:32 »

OP staat voor 'Original Post' of 'Original Poster'.
Gelogd

Cad_user86

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 211
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #12 Gepost op: do 20 10 2016, 08:08:52 »

Het werkt inderdaad.......  helaas nog niet meteen wat ik zoek :-)
Het uiteindelijke resultaat is hoe ik het graag zou hebben, maar ik zou willen dat, wanneer je een rechthoek tekent, dat de tekst dan automatisch in het midden komt te staan.

Nu moet je eerst de rechthoek tekenen, vervolgens de lisp activeren, hoogt tekst ingeven en vervolgens de rechthoek selecteren. Dit alles had ik graag in één beweging gedaan...
Iemand een voorstel?

Bedankt alvast!!! :vreegoe: :vreegoe: :vreegoe: :mrgreen:
Gelogd

gery

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 530
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #13 Gepost op: do 20 10 2016, 09:18:36 »

Dan zal je bovenstaande LISP code dienen uit te breiden met het RECTANG commando.
Gelogd
AutoCAD 2020 - Windows 10

Reimer

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1323
    • Bekijk profiel
Re: Afmetingen in rechthoek
« Reactie #14 Gepost op: do 20 10 2016, 09:39:38 »

Zou je dit ook met een dynamisch block kunnen doen? Voorbeeld in de bijlage.

Reimer
Gelogd
Pagina's: [1] 2   Omhoog