FastFiber
Menu

Toon bijdragen

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

Berichten - Bart Dheere

#1
Hallo,

ik werd steeds geholpen bij vragen door de persoon met volgend email-adres: patrick punt depraetere apenstaart chapoo.com. Deze geeft ondersteuning bij Bricscad. Mss in cc. plaatsen.

Groeten.

edit: email adres minder duidelijk gemaakt om spam te voorkomen.
#2
Autolisp / byblock --> bylayer
do 14 07 2016, 10:01:38
Door bijgevoegde lisp worden 3d polylines omgezet naar 2d polylines. Bovendien wordt de elevations van de lijnen op 0 gezet.

Kan er mij iemand helpen in deze lisp een bewerking toe te voegen om de lijnen, die meestal in color 'Byblock' staan om te zetten in Bylayer?

Groeten en bedankt.
#3
Autolisp / Re: Select polylines with blocks
ma 27 06 2016, 09:58:07
super.

Bedankt.
#4
Autolisp / Omzet Blocks - uitdaging
ma 27 06 2016, 09:53:41
In Civil3d bestaat de mogelijkheid om bepaalde gemeten punten na het importeren van de survey data om te zetten in het juiste symbool. Ik dacht dat dit kan met Description Key Set. Is er iemand met ervaring daarin?

Nu importeer ik alles via dxf. Lijnen worden aangepast en omgezet in de juiste layer. Daarvoor heb ik een aantal tools.

Voor het omzetten van de blocks zou dat waarschijnlijk wel mogelijk zijn om deze in de juiste om te zetten.
Bestaat daar een lisp voor?

Groeten,
Bart
#5
Autolisp / Re: Select polylines with blocks
ma 13 06 2016, 10:07:08
Roy,

mss heeft dit iets te maken met 3d polylijnen of 2d polylijnen?

Groeten,
Bart
#6
Autolisp / Re: Select polylines with blocks
ma 13 06 2016, 09:36:20
Roy,

Command: ERASENOBLOCKPOLY
; error: bad argument type: fixnump: 1.0

Kan je hier iets mee?

Bedankt.
Bart
#7
Beste,

Na een meting op terrein met een landmeetkundig toestel, exporteren we de data in dxf-vorm. Een filterfunctie op datum wordt meestal toegepast bij het exporteren gezien de vorige metingen in dezelfde tekening niet meer nodig zijn.

De filterfunctie wordt enkel toegepast op de gemeten punten (blocks op layer 0). Dus in de geexporteerde dxf komen alle reeds gemeten lijnen in het project ook mee. Het toestel, Leica Viva GS15, laat niet toe te filteren op de lijnen.

Graag had ik enkel de lijnen kunnen selecteren met een gemeten punt (block) op het begin en einde van een vertex.
Kent iemand hier een lisp-oplossing voor?

Als voorbeeld stop ik dergelijke dxf in de bijlage.

Gegroet en dank.
Bart
#8
Adrianus,

Ik laat het zeker weten.

Groeten,
Bart
#9
Autolisp / Stepped offset OPGELOST
do 04 02 2016, 10:56:09
Hallo allen,

Een tijdje terug zocht ik naar een macro/lisp die het mogelijk maakt een bepaalde offset te doen van een lijn. Deze topic is opgelost. Deze macro/lisp voegde ik toe aan een button, dat maakt het makkelijk om een offset te doen van een lijn met verschillende vaste offsets. Zo maakte ik een tiental knoppen met verschillende offsetbreedtes.

Graag had ik een macro/lisp gevonden om een stepped offset te kunnen doen van een 3dpolyline of een featureline. Terug met een vaste offset-breedte. De elevation difference wens ik wel  nog zelf te kunnen invoeren.

Groeten en dank.
Bart
#10
Is er een mogelijkheid om enkel de overlappende objecten te laten highlighten bij een selectie.
Misschien bestaat er een instelling waarbij een ander kleur kan gegeven worden bij overlappende selecties.

Mag ik beroep doen op jullie deskundigheid terzake?

Groeten,
Bart
#11
Eigenlijk is de area van de geselecteerde hatches te zien in de properties. Als, na selectie van de hatches, deze  niet zichtbaar is, zit je met een probleemje. Deze kan dan een hatch zijn van kruisende polylijnen. Dan start de zoektocht.
#12
Aan allen,

Onderaan staat een routine weergegeven welke het mogelijk maakt om, in excel, een opsomming weer te geven van de lijnvormige elementen in een tekening. Superhandige tool, zo heb ik de indruk.

De routine werkt perfect, enkel dienen nog wat ruwe kantjes afgevijlt te worden.

Hierbij twee vragen:

vraag 1 :
Handig ware om in excel de tekst  "SubTotal" in de tweede kolom weer te geven en de kolom met length te verschuiven naar de derde kolom.
Dat is enkel om eenvoudiger de data alfabetisch te sorteren.
Is dit mogelijk?

vraag 2:
Is er een mogelijkheid om in een tweede tabblad een totaal te maken van oppervlaktes van hatches.
Dit graag per layer en per vierkante meter.

dat zou super zijn.

Groeten en dank.
Bart






(defun c:ple (/   elist    en     i      layer    layer_list
      leng    pline     row      ss       sumlen   total
      x    xlApp     xlBook   xlBooks  xlCells  xlSheet
      xlSheets
          )
  (vl-load-com)
  (setq   xlApp      (vlax-get-or-create-object "Excel.Application")
   xlBooks  (vlax-get-property xlApp "Workbooks")
   xlBook      (vlax-invoke-method xlBooks "Add")
   xlSheets (vlax-get-property xlBook "Sheets")
   xlSheet      (vlax-get-property xlSheets "Item" 1)
   xlCells      (vlax-get-property xlSheet "Cells")
  )
  (vla-put-visible xlApp :vlax-true)
  ;headers
  (vlax-put-property xlCells "Item" 1 1 "Layer")
  (vlax-put-property xlCells "Item" 1 2 "Length")
 
  (setq row 2
   total 0)

  (setq ss (ssget "_X" (list (cons 0 "*POLYLINE"))) i -1)
  (repeat (sslength ss)
    (setq en (ssname ss (setq i (1+ i)))
     elist (entget en)
     layer (cdr (assoc 8 elist)))
    (if (not (member layer layer_list))
      (setq layer_list (cons layer layer_list))))
 
 
  (repeat (length layer_list)
    (setq layer (car layer_list))
    (vlax-put-property xlCells "Item" row 1 layer)
    (setq ss (ssget "_X" (list (cons 0 "*POLYLINE")(cons 8 layer))) i -1 sumlen 0)
    (repeat (sslength ss)
    (setq row (1+ row)) 
    (setq pline (vlax-ename->vla-object (ssname ss (setq i (1+ i)))))
    (setq leng  (vlax-curve-getdistatparam pline
        (vlax-curve-getendparam pline)))
    (vlax-put-property xlCells "Item" row 2 (rtos leng 4 3))
        (vlax-put-property xlCells "Item" row 2 (rtos leng 2 3)); for metric units 
    (setq sumlen (+ sumlen leng)))
    (setq row (1+ row))
    (vlax-put-property xlCells "Item" row 1 "SubTotal:")
    (vlax-put-property xlCells "Item" row 2 (rtos sumlen 4 3))
    (setq total (+ total sumlen))
    (vlax-put-property xlCells "Item" row 2 (rtos sumlen 2 3)); for metric units
    (setq layer_list (cdr layer_list))
    (setq row (+ row 2))
   
  )

; footers:
(vlax-put-property xlCells "Item" row 1 "Total:")
(vlax-put-property xlCells "Item" row 2 (rtos total 4 3))
(vlax-put-property xlCells "Item" row 2 (rtos total 2 3)); for metric units 

(mapcar (function (lambda(x)
          (vl-catch-all-apply
            (function (lambda()
              (progn
                (vlax-release-object x)
                (setq x nil)))))))
(list xlCells xlSheet xlSheets xlBook xlBooks xlApp)
)
(alert "Close Excel file manually")
(gc)(gc)
(princ)
  )
(princ "\t\t***\t  Type PLE to write polines length to Excel\t***")
(princ)
#13
Autolisp / Re: Area selected hatch
di 12 01 2016, 09:51:25
Goedemorgen Adrianus,

Ik teken mijn plannen in meter-eenheden. Dus de weergeven eenheid bij uit uitvoeren van deze routine is de gebruikte eenheid... veronderstel ik.

Alleen ware het mss handig om idd de eenheid m² in de messagebox te voorschijn zien te toveren.
Daar ben ik niet in thuis.

mss oproep aan forumcollega's.

Groeten,
Bart
#14
Autolisp / Re: Area selected hatch (Opgelost)
ma 11 01 2016, 07:45:01
De oppervlakte van geselecteerde hatches zijn te zien in properties.
Ook met onderstaande routine lukt dat.

Som van geselecteerde areas.

(defun c:sarea (/ sset i area obj)
(if (>= (atof (substr (getvar "acadver") 1 4)) 16.2)
(progn
(prompt "\nSelect hatches: ")
(if (setq sset (ssget '((0 . "hatch"))))
(progn
(setq
i (1- (sslength sset))
area 0)
(while (>= i 0)
(setq
obj (vlax-ename->vla-object (ssname sset i))
area (+ area (vla-get-area obj)))
(setq i (1- i)))
(alert
(strcat
"\nTotal area = "
(if (or (= (getvar "lunits") 3) (= (getvar "lunits") 4))
(strcat
(rtos area 2)
" sq. in. ("
(rtos (/ area 144) 2)
" sq. ft.)")
(rtos area))))))))
(princ))
#15
Vond een lisp terug voor het achterhalen van de totale lengte van lijnen.
Kan dat voor geselecteerde hatches ook?


TLEN.LSP - Total LENgth of selected objects
(c) 1998 Tee Square Graphics

|;

(defun C:TLEN (/ ss tl n ent itm obj l)
  (setq ss (ssget)
        tl 0
        n (1- (sslength ss)))
  (while (>= n 0)
    (setq ent (entget (setq itm (ssname ss n)))
          obj (cdr (assoc 0 ent))
          l (cond
              ((= obj "LINE")
                (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
              ((= obj "ARC")
                (* (cdr (assoc 40 ent))
                   (if (minusp (setq l (- (cdr (assoc 51 ent))
                                          (cdr (assoc 50 ent)))))
                     (+ pi pi l) l)))
              ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE")
                   (= obj "LWPOLYLINE")(= obj "ELLIPSE"))
                (command "_.area" "_o" itm)
                (getvar "perimeter"))
              (T 0))
          tl (+ tl l)
          n (1- n)))
  (alert (strcat "Total length of selected objects is " (rtos tl)))
  (princ)
)
yoin