FastFiber

grid tekenen + coordinaten erbij

Gestart door Sven, do 07 07 2005, 16:21:49

Vorige topic - Volgende topic

Sven

ik heb dankbaar gebruik kunnen maken van het onderwerp "getal afronden" .
Nu heb ik een routine geschreven waarbij ik een grid wil tekenen -> dit lukt  8)  8)
Toen ik het echter wou uitbreiden om er aan de zijkant ook de coordinaten bij te plaatsen gaat er echter iets fout. Het grid tekent hij nog, maar de coordinaten komen er nog niet bij  :evil:
1) kan iemand mij zeggen waar het fout gaat? Liefst eerst zonder vraag 2 te beantwoorden. (lange versie dus, die versta ik nog)
2) waarschijnlijk kan dit ook korter, maar zo gevorderd ben ik nog niet. Kan iemand mij zeggen hoe dit korter kan?




(defun c:geogrid (/ pt1 pt2 spatie schaal rijmax kolommax rij kolom claag x0 x1 x2 x3 x4 x5 x6 y0 y1 y2 y3 y4 y5 y6 tekenx tekeny pt3)
 (setvar "cmdecho" 0)
 (setq pt1 (getpoint "\nDuid de linkerbenedenhoek aan : "))
 (setq pt2 (getcorner pt1 "\nDuid de rechterbovenhoek aan: "))
 (setq spatie (getreal "\nGeef de tussenafstand (m): "))
 (setq schaal (getreal "\nGeef de grootte van de kruisjes: "))
 (initget 1 "Links Rechts Beide Geen")
 (setq linksrechts (getkword "coördinaten Links, Rechts, aan Beide kanten of Geen? "))
 (initget 1 "BOven Onder BEide Geen")
 (setq bovenonder (getkword "coördinaten BOven, Onder, aan BEide kanten of Geen? "))
 (initget 1 "BInnenkant BUitenkant _-1 1")
 (setq orient (getkword "Coördinaten aan de BInnenkant of aan de BUitenkant van het grid? "))
 (setq lh (getreal "Geef de letterhoogte van de coördinaten: "))
 (setq x0 (car pt1))
 (setq y0 (cadr pt1))
 (if (= spatie 50) (round50) (if (= spatie 25) (round25) (round10)))
 (setq sm (getvar "osmode"))
 (setvar "osmode" 0)
 (setq cl (getvar "clayer"))
 (command "-layer" "m" "grid" "c" "8" "" "")
 (setq pt3 (list x6 y6))
 (rijkolom)
 (command "-insert" "grid.dwg" pt3 schaal "" "")
 (command "-array" "l" "" "r" rij kolom spatie spatie)
 (geocoord)
 (Setvar "cmdecho" 1)
 (setvar "osmode" sm)
 (setvar "clayer" cl)
 (princ))



;Afronden op 10

(defun round10 ()
 (setq x1 (/ x0 10))
 (setq tekenx (if (< x0 0) -1 1))
 (setq x2 (fix (abs x1)))
 (setq x6 (if (< x0 0) (* 10 tekenx x2) (* 10 tekenx (+ x2 1))))
 (setq y1 (/ y0 10))
 (setq tekeny (if (< y0 0) -1 1))
 (setq y2 (fix (abs y1)))
 (setq y6 (if (< y0 0) (* 10 tekeny y2) (* 10 tekeny (+ y2 1)))))

;Afronden op 25

(defun round25 ()
 (setq x1 (/ x0 100))
 (setq tekenx (if (< x0 0) -1 1))
 (setq x2 (abs x1))
 (setq x3 (fix x2))
 (setq x4 (- x2 x3))
 (setq x5 (if (< x4 0.25) 0 (if (< x4 0.5) 0.25 (if (< x4 0.75) 0.5 0.75))))
 (setq x6 (if (< x0 0) (* 100 tekenx (+ x3 x5)) (* 100 tekenx (+ x3 x5 0.25))))
 (setq y1 (/ y0 100))
 (setq tekeny (if (< y0 0) -1 1))
 (setq y2 (abs y1))
 (setq y3 (fix y2))
 (setq y4 (- y2 y3))
 (setq y5 (if (< y4 0.25) 0 (if (< y4 0.5) 0.25 (if (< y4 0.75) 0.5 0.75))))
 (setq y6 (if (< y0 0) (* 100 tekeny (+ y3 y5)) (* 100 tekeny (+ y3 y5 0.25)))))

;Afronden op 50

(defun round50 ()
 (setq x1 (/ x0 100))
 (setq tekenx (if (< x0 0) -1 1))
 (setq x2 (abs x1))
 (setq x3 (fix x2))
 (setq x4 (- x2 x3))
 (setq x5 (if (< x4 0.5) 0.5 1))
 (setq x6 (if (< x0 0) (if (= x5 1) (* 100 tekenx (+ x3 0.5)) (* 100 tekenx x3))(* 100 tekenx (+ x3 x5))))
 (setq y1 (/ y0 100))
 (setq tekeny (if (< y0 0) -1 1))
 (setq y2 (abs y1))
 (setq y3 (fix y2))
 (setq y4 (- y2 y3))
 (setq y5 (if (< y4 0.5) 0.5 1))
 (setq y6 (if (< y0 0) (if (= y5 1) (* 100 tekeny (+ y3 0.5)) (* 100 tekeny y3))(* 100 tekeny (+ y3 y5)))))

;aantal kolommen en rijen bepalen

(defun rijkolom ()
 (setq rijmax (- (cadr pt2) y6))
 (setq kolommax (- (car pt2) x6))
 (setq rij (+ 1 (fix (/ rijmax spatie))))
 (setq kolom (+ 1 (fix (/ kolommax spatie)))))

;coordinaten plaatsen

(defun geocoord ()
 (setvar "dimstyle" "standard")
 (setvar "dimtxt" lh)
 (if (= linksrechts links) (links) (if (= linksrechts rechts) (rechts) (if (= linksrechts beide) (lr) )))
 (if (= bovenonder boven) (boven) (if (= bovenonder onder) (onder) (if (= bovenonder beide) (bo) ))))

(defun links ()
 (setq y7 (y6))
 (while (<= y7 (+ y6 (* rij schaal)))
   (setq pt4 (list x6 y7))
   (setq x7 (- x6 (* schaal orient)))
   (setq pt5 (list x7 y7))
   (command "_dimordinate" pt4 pt5)
   (command "explode" "l" "")
   (setq y7 (+ y7 spatie))))

(defun rechts ()
 (setq y7 (y6))
 (setq x8 (+ x6 (* rij schaal)))
 (while (<= y7 (+ y6 (* rij schaal)))
   (setq pt4 (list x8 y7))
   (setq x7 (+ x8 (* schaal orient)))
   (setq pt5 (list x7 y7))
   (command "_dimordinate" pt4 pt5)
   (command "explode" "l" "")    
   (setq y7 (+ y7 spatie))))

(defun onder ()
 (setq x7 (x6))
 (while (<= x7 (+ x6 (kolom schaal)))
   (setq pt4 (list x7 y6))
   (setq y7 (- y6 (* schaal orient)))
   (setq pt5 (list x7 y7))
   (command "_dimordinate" pt4 pt5)
   (command "explode" "l" "")
   (setq x7 (+ x7 spatie))))

(defun boven ()
 (setq x7 (x6))
 (setq y8 (+ y6 (* kolom schaal)))
 (while (<= x7 (+ x6 (kolom schaal)))
   (setq pt4 (list x7 y8 ))
   (setq y7 (- y8 (* schaal orient)))
   (setq pt5 (list x7 y7))
   (command "_dimordinate" pt4 pt5)
   (command "explode" "l" "")
   (setq x7 (+ x7 spatie))))

(defun lr ()
 (links)
 (rechts))

(defun bo ()
 (boven)
 (onder))

WebRacer

(setvar "dimstyle" "standard")

die is READ-ONLY,
euh uw programma lang, ja dat kan, ingewikkeld dat mss ook, maar als het doet wat het moet doen, dan is het goed genoeg!!

BTW, heeft dit toevallig te maken met Aquafin kaders voor schema polygonatie?
?

WebRacer

(if (= linksrechts links) (links) (if (= linksrechts rechts) (rechts) (if (= linksrechts beide) (lr) )))
(if (= bovenonder boven) (boven) (if (= bovenonder onder) (onder) (if (= bovenonder beide) (bo) ))))

moet zijn "Links" en "Rechts"
?

WebRacer

(defun c:geogrid (/ pt1 pt2 spatie schaal rijmax kolommax rij kolom claag x0 x1 x2 x3 x4 x5 x6 y0 y1 y2 y3 y4 y5 y6 tekenx tekeny pt3)
(setvar "cmdecho" 0)
(setq pt1 (getpoint "\nDuid de linkerbenedenhoek aan : "))
(setq pt2 (getcorner pt1 "\nDuid de rechterbovenhoek aan: "))
(setq spatie (getreal "\nGeef de tussenafstand (m): "))
(setq schaal (getreal "\nGeef de grootte van de kruisjes: "))
(initget 1 "Links Rechts Beide Geen")
(setq linksrechts (getkword "coördinaten Links, Rechts, aan Beide kanten of Geen? "))
(initget 1 "Boven Onder bEide Geen")
(setq bovenonder (getkword "coördinaten Boven, Onder, aan bEide kanten of Geen? "))
(initget 1 "bInnenkant bUitenkant _-1 1")
(setq orient (getkword "Coördinaten aan de bInnenkant of aan de bUitenkant van het grid? "))
(setq lh (getreal "Geef de letterhoogte van de coördinaten: "))
(setq x0 (car pt1))
(setq y0 (cadr pt1))
(if (= spatie 50) (round50) (if (= spatie 25) (round25) (round10)))
(setq sm (getvar "osmode"))
(setvar "osmode" 0)
(setq cl (getvar "clayer"))
(command "-layer" "m" "grid" "c" "8" "" "")
(setq pt3 (list x6 y6))
(rijkolom)
(command "-insert" "grid.dwg" pt3 schaal "" "")
(command "-array" "l" "" "r" rij kolom spatie spatie)
(geocoord)
(Setvar "cmdecho" 1)
(setvar "osmode" sm)
(setvar "clayer" cl)
(princ))



;Afronden op 10

(defun round10 ()
(setq x1 (/ x0 10))
(setq tekenx (if (< x0 0) -1 1))
(setq x2 (fix (abs x1)))
(setq x6 (if (< x0 0) (* 10 tekenx x2) (* 10 tekenx (+ x2 1))))
(setq y1 (/ y0 10))
(setq tekeny (if (< y0 0) -1 1))
(setq y2 (fix (abs y1)))
(setq y6 (if (< y0 0) (* 10 tekeny y2) (* 10 tekeny (+ y2 1)))))

;Afronden op 25

(defun round25 ()
(setq x1 (/ x0 100))
(setq tekenx (if (< x0 0) -1 1))
(setq x2 (abs x1))
(setq x3 (fix x2))
(setq x4 (- x2 x3))
(setq x5 (if (< x4 0.25) 0 (if (< x4 0.5) 0.25 (if (< x4 0.75) 0.5 0.75))))
(setq x6 (if (< x0 0) (* 100 tekenx (+ x3 x5)) (* 100 tekenx (+ x3 x5 0.25))))
(setq y1 (/ y0 100))
(setq tekeny (if (< y0 0) -1 1))
(setq y2 (abs y1))
(setq y3 (fix y2))
(setq y4 (- y2 y3))
(setq y5 (if (< y4 0.25) 0 (if (< y4 0.5) 0.25 (if (< y4 0.75) 0.5 0.75))))
(setq y6 (if (< y0 0) (* 100 tekeny (+ y3 y5)) (* 100 tekeny (+ y3 y5 0.25)))))

;Afronden op 50

(defun round50 ()
(setq x1 (/ x0 100))
(setq tekenx (if (< x0 0) -1 1))
(setq x2 (abs x1))
(setq x3 (fix x2))
(setq x4 (- x2 x3))
(setq x5 (if (< x4 0.5) 0.5 1))
(setq x6 (if (< x0 0) (if (= x5 1) (* 100 tekenx (+ x3 0.5)) (* 100 tekenx x3))(* 100 tekenx (+ x3 x5))))
(setq y1 (/ y0 100))
(setq tekeny (if (< y0 0) -1 1))
(setq y2 (abs y1))
(setq y3 (fix y2))
(setq y4 (- y2 y3))
(setq y5 (if (< y4 0.5) 0.5 1))
(setq y6 (if (< y0 0) (if (= y5 1) (* 100 tekeny (+ y3 0.5)) (* 100 tekeny y3))(* 100 tekeny (+ y3 y5)))))

;aantal kolommen en rijen bepalen

(defun rijkolom ()
(setq rijmax (- (cadr pt2) y6))
(setq kolommax (- (car pt2) x6))
(setq rij (+ 1 (fix (/ rijmax spatie))))
(setq kolom (+ 1 (fix (/ kolommax spatie)))))

;coordinaten plaatsen

(defun geocoord ()
;(setvar "dimstyle" "standard") ; deze is READ-ONLY!!!
(setvar "dimtxt" lh)
(if (= linksrechts "Links") (links) (if (= linksrechts "Rechts") (rechts) (if (= linksrechts "beide") (lr) ))) ; hoofdlettergevoelig!!
(if (= bovenonder "Boven") (boven) (if (= bovenonder "Onder") (onder) (if (= bovenonder "bEide") (bo) ))))  ; hoofdlettergevoelig!!

(defun links ()
(setq y7 y6) ; en niet (setq y7 (y6))
(while (<= y7 (+ y6 (* rij schaal)))
(setq pt4 (list x6 y7))
(setq x7 (- x6 (* schaal (atoi orient)))) ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "explode" "l" "")
(setq y7 (+ y7 spatie))))

(defun rechts ()
(setq y7 y6)  ; en niet (setq y7 (y6))
(setq x8 (+ x6 (* rij schaal)))
(while (<= y7 (+ y6 (* rij schaal)))
(setq pt4 (list x8 y7))
(setq x7 (+ x8 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "explode" "l" "")
(setq y7 (+ y7 spatie))))

(defun onder ()
(setq x7 x6) ; en niet (setq y7 (y6))
(while (<= x7 (+ x6 (* kolom schaal))) ;* vergeten
(setq pt4 (list x7 y6))
(setq y7 (- y6 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "explode" "l" "")
(setq x7 (+ x7 spatie))))

(defun boven ()
(setq x7 x6)  ; en niet (setq y7 (y6))
(setq y8 (+ y6 (* kolom schaal)))
(while (<= x7 (+ x6 (* kolom schaal))) ;* vergeten
(setq pt4 (list x7 y8 ))
(setq y7 (- y8 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "explode" "l" "")
(setq x7 (+ x7 spatie))))

(defun lr ()
(links)
(rechts))

(defun bo ()
(boven)
(onder))


heb ik momenteel als fouten, maar ik veronderstel dat het niet enkel bij het plaatsen van dat ene coordinaatje is... de while werkt dus nog niet...
?

WebRacer

(defun links ()
(setq y7 y6) ; en niet (setq y7 (y6))
(repeat rij ;while (<= y7 (+ y6 (* rij schaal)))
(setq pt4 (list x6 y7))
(setq x7 (- x6 (* schaal (atoi orient)))) ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "_explode" "l")
(setq y7 (+ y7 spatie))))

(defun rechts ()
(setq y7 y6)  ; en niet (setq y7 (y6))
(setq x8 (+ x6 (* rij schaal)))
(repeat rij ;while (<= y7 (+ y6 (* rij schaal)))
(setq pt4 (list x8 y7))
(setq x7 (+ x8 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "_explode" "l")
(setq y7 (+ y7 spatie))))

(defun onder ()
(setq x7 x6)  ; en niet (setq y7 (y6))
(repeat kolom ;while (<= x7 (+ x6 (* kolom schaal))) ;* vergeten
(setq pt4 (list x7 y6))
(setq y7 (- y6 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "_explode" "l")
(setq x7 (+ x7 spatie))))

(defun boven ()
(setq x7 x6)  ; en niet (setq y7 (y6))
(setq y8 (+ y6 (* kolom schaal)))
(repeat kolom ;while (<= x7 (+ x6 (* kolom schaal))) ;* vergeten
(setq pt4 (list x7 y8 ))
(setq y7 (- y8 (* schaal (atoi orient))))  ;string to integer
(setq pt5 (list x7 y7))
(command "_dimordinate" pt4 pt5)
(command "_explode" "l")
(setq x7 (+ x7 spatie))))


ziezo, dit werkt ...... velen beter, ik wil wel eens weten of dit met aquafinkaders te maken heeft voor schema polygonatie Sven!
want dan mag je geen 3 nullen na de komma hebben, en moet je coordinaat eindigen op een X of een Y, en ik denk dat ik dat eigenlijk ooit eens geschreven heb... enfin veel plezier
?

WebRacer

jep, zie je wel ik vond het terug..., is al paar jaarkens oud:

;Dit programma plaatst Grids en coordinaten van die grids...
;gemaakt voor raster aquafin van 50x50 voor schema polygonatie
;Hautekeete Olivier 05-03-2001
(defun c:grid1 (/ pt1 pt2 pt1x pt1y pt2x pt2y pt3x pt3y aantal_op_x aantal_op_y pta ptb1 ptb2)
 (setq pt1 (getpoint "\Geef hoekpunt1 op  "))
 (setq pt2 (getcorner pt1 "\Geef hoekpunt2 op  "))
 (setq pt1x (/ (fix (* (car pt1) 100)) 100))
 (setq pt1y (/ (fix (* (cadr pt1) 100)) 100))
 (setq pt2x (/ (fix (* (car pt2) 100)) 100))
 (setq pt2y (/ (fix (* (cadr pt2) 100)) 100))

 (if (> (rem pt1x 100) 50)
   (setq pt1x (+ (- pt1x (rem pt1x 100)) 100))
   (setq pt1x (+ (- pt1x (rem pt1x 100)) 50))
 )
 (setq pt3x pt1x)
 (setq pt4x pt1x)
 (if (> (rem pt1y 100) 50)
   (setq pt1y (+ (- pt1y (rem pt1y 100)) 100))
   (setq pt1y (+ (- pt1y (rem pt1y 100)) 50))
 )
 (setq pt3y pt1y)
 (setq pt4y pt1y)
 (if (> (rem pt2x 100) 50)
   (setq pt2x (+ (- pt2x (rem pt2x 100)) 100))
   (setq pt2x (+ (- pt2x (rem pt2x 100)) 50))
 )
 (if (> (rem pt2y 100) 50)
   (setq pt2y (+ (- pt2y (rem pt2y 100)) 100))
   (setq pt2y (+ (- pt2y (rem pt2y 100)) 50))
 )
 (setq aantal_op_x (/ (- pt2y pt1y) 50))
 (princ (strcat (rtos aantal_op_x 2 0) "-"))(princ)
 (setq aantal_op_y (/ (- pt2x pt1x) 50))
 (princ (strcat (rtos aantal_op_y 2 0) "--"))(princ)
 (repeat aantal_op_y
   (repeat aantal_op_x
     (setq pta (list pt1x pt1y))
           ;het aanmaken van een lijn
      (entmake (list '(0 . "LINE")            ;type entiteit
                 '(8 . "GRID")            ;laag
                '(6 . "CONTINUOUS")         ;lijntype
                       '(62 . 1)            ;kleur
                 (cons 10 (list (- pt1x 2.5) pt1y))   ;startpunt
                (cons 11 (list (+ pt1x 2.5) pt1y))   ;eindpunt
           )    
      );einde maken lijn1
      (entmake (list '(0 . "LINE")            ;type entiteit
                 '(8 . "GRID")            ;laag
                '(6 . "CONTINUOUS")         ;lijntype
                       '(62 . 1)            ;kleur
                 (cons 10 (list pt1x (+ pt1y 2.5)))   ;startpunt
                (cons 11 (list pt1x (- pt1y 2.5)))   ;eindpunt
           )    
      );einde maken lijn2
     (setq pt1y (+ pt1y 50))
   )
   (setq pt1x (+ pt1x 50))
   (setq pt1y (- pt1y (* aantal_op_x 50)))
 )
 (repeat aantal_op_y
   (setq ptb2 (list pt3x (- pt3y 10) 0.0))
   (setq ptb1 (list (- pt3x 2.5) (- pt3y 10) 0.0))
   (setq txt_x (strcat (itoa pt3x) ".00X"))
      ;het aanmaken van een tekst
      (entmake (list '(0 . "TEXT")         ;type entiteit
                       '(8 . "TEXT")         ;laag
                       (cons '10 ptb1)         ;tekst invoegpunt
                       (cons '11 ptb2)         ;tekst invoegpunt
                       '(40 . 5.0)         ;teksthoogte
                (cons '1 txt_x)          ;de tekst zelf
                       '(50 . 4.71239)         ;tekst rotatiehoek(in radialen)
                '(41 . 1.0)         ;relatieve x-schaalfactor
                       '(51 . 0.0)         ;helling (italic)
                '(7 . "Standard")      ;tekst stijlnaam
                       '(71 . 0)         ;flags
                '(72 . 0)         ;horizontale uitlijning
                '(73 . 2)         ;vertikale uitlijning
           )
      )
   (setq pt3x (+ pt3x 50))
 )
 (repeat aantal_op_x
   (setq ptb4 (list (- pt4x 10) pt4y 0.0))
   (setq ptb3 (list (- pt4x 10) (- pt4y 2.5) 0.0))
   (setq txt_y (strcat (itoa pt4y) ".00Y"))
      ;het aanmaken van een tekst
      (entmake (list '(0 . "TEXT")         ;type entiteit
                       '(8 . "TEXT")         ;laag
                       (cons '10 ptb3)         ;tekst invoegpunt
                       (cons '11 ptb4)         ;tekst invoegpunt
                       '(40 . 5.0)         ;teksthoogte
                (cons '1 txt_y)          ;de tekst zelf
                       '(50 . 0)         ;tekst rotatiehoek(in radialen)
                '(41 . 1.0)         ;relatieve x-schaalfactor
                       '(51 . 0.0)         ;helling (italic)
                '(7 . "Standard")      ;tekst stijlnaam
                       '(71 . 0)         ;flags
                '(72 . 2)         ;horizontale uitlijning
                '(73 . 2)         ;vertikale uitlijning
           )
      )
   (setq pt4y (+ pt4y 50))
 )
 (Princ "\nDone.")(Princ)
)
(Princ "\nProgrammatie : Hautekeete Olivier 05-03-2001")(princ)
(Princ "\nVoor info typ 'info_grid'")(princ)



(Defun c:info_grid (/)
(alert (Strcat "Geschreven door Hautekeete Olivier"
            "\n-----------------------------------------------------------------------"
    "\nDuid 2 punten aan en laat een raster tekenen van 50 op 50"
         "\n    Met benaming van grid-coördinaten vlg. aquafin 1997"
          "\n\t\tstart met 'GRID1'")
  )
)



veel plezier...  :pintje:
?

Sven

Bedankt voor de reactie, maar graag een woordje uitleg:

1) repeat rij of kolom: wat doet dit?
2) ATOI : wat doet dit?


oh, ja, het heeft niks met Aquafin te maken, maar mischien ken je de applicatie GEOPUS? We hebben hier slechts 1 licentie, en de meest gebruikte functies wil ik een beetje "namaken", ik heb namelijk de kans om onze dienst een beetje te "uniformiseren". De routine die jij geeft is enkel voor 50*50, ik wou een iets uitgebreidere versie maken.

Kan er trouwens iemend met dialoogboxen werken via lisp?

Kenny H

Plaats gewoon uw wat ge wilt bereiken.
We zullen wel  tot een resultaat komen  :wink:

Ps ik kan overweg met dialoogboxen.
8) Volvo 4 Life 8)

WebRacer

Sven, Atoi = Alfanummeriek TO Integer
En je berekende de variabelen rij en kolom, dan kan je ze gebruiken voor een repeat... een herhaalfunctie...
(repeat 7
(princ "Ollie is the best")(princ)
)
herhaald 7 keer die machtige zin.....
en in 'kolom' 'n 'rij' zaten je aantal kolommen en rijen...

En ja ik ken Geopus van binnen en van buiten,
jij zit dus op een landmetersbureau in Lochristie...
En ik daar zijn er niet veel.....
?

Sven

CiteerEn ja ik ken Geopus van binnen en van buiten,
jij zit dus op een landmetersbureau in Lochristie...
En ik daar zijn er niet veel.....


Ik woon wel in Lochristi, maar ik werk niet in Lochristi :wink:

Van waar ken jij Geopus? gebruik je het ook?

WebRacer

WebRacer hier, het is zalden, maar ik kom straal beopen thuis...
ik ken Geopus omdat ik het 2 jaar terug, hmm, geherformuleerd gebruik... ik gebruik het nijna wekelijks... ok je werkt niet in Lochristie... maar ik voel dat je in de branche zit dat ik zit.... gelieve eens te mailen of msn te gebruiken voor meer info... slaapwel en tot morgen..
t'is bijna congé olé olé....
?

WebRacer

WebRacer wil zich excuseren voor de hierboven uitgekraamde reactie....
Ik was licht aangeschoten en kon mijn toetsen blijkbaar niet goed meer vinden... :oops:  :oops:  :oops:
?

julien

Citaat van: WebRacerWebRacer wil zich excuseren voor de hierboven uitgekraamde reactie....
Ik was licht aangeschoten en kon mijn toetsen blijkbaar niet goed meer vinden... :oops:  :oops:  :oops:
Alé, voor ene keer.  :wink:



hips

Sven

Ik hoop dat ze gesmaakt hebben  :D

Kenny H

;Dit programma plaatst Grids en coordinaten van die grids...
               ;gemaakt voor raster op uw eigen grootte
               ;Hautekeete Olivier & Habils Kenny 09-07-2005

(defun c:grid2 (/    pt1     pt2      pt1x       pt1y     pt2x
      pt2y    pt3x     pt3y      aantal_op_x        aantal_op_y
      pta    ptb1     ptb2
          )
 (setq pt1 (getpoint "\Geef hoekpunt1 op "))
 (setq pt2 (getcorner pt1 "\Geef hoekpunt2 op "))
 (setq
   afx   (getdist "\Geef een maat op voor de x afstand:")
 )
 (setq
   afy   (getdist "\Geef een maat op voor de y afstand:")
 )
 (setq pt1x (/ (fix (* (car pt1) 100)) 100))
 (setq pt1y (/ (fix (* (cadr pt1) 100)) 100))
 (setq pt2x (/ (fix (* (car pt2) 100)) 100))
 (setq pt2y (/ (fix (* (cadr pt2) 100)) 100))
 (setq pt3x pt1x)
 (setq pt4x pt1x)
 (setq pt3y pt1y)
 (setq pt4y pt1y)
 (setq aantal_op_x (/ (- pt2x pt1x) afx))
 (setq absmaat (abs aantal_op_x))
 (if (>= (- absmaat (fix absmaat)) 0.5)
   (setq aantal_op_x (fix (1+ absmaat)))
   (setq aantal_op_x (fix absmaat))
 )
 (princ (strcat (rtos aantal_op_x 2 0) "-"))
 (princ)
 (setq aantal_op_y (/ (- pt2y pt1y) afy))
 (setq absmaat (abs aantal_op_y))
 (if (>= (- absmaat (fix absmaat)) 0.5)
   (setq aantal_op_y (fix (1+ absmaat)))
   (setq aantal_op_y (fix absmaat))
 )
 (princ (strcat (rtos aantal_op_y 2 0) "--"))
 (princ)
 (repeat aantal_op_y
   (repeat aantal_op_x
     (setq pta (list pt1x pt1y))
               ;het aanmaken van een lijn
     (entmake
   (list '(0 . "LINE")      ;type entiteit
         '(8 . "GRID")      ;laag
         '(6 . "CONTINUOUS")   ;lijntype
         '(62 . 1)         ;kleur
         (cons 10 (list (- pt1x 2.5) pt1y)) ;startpunt
         (cons 11 (list (+ pt1x 2.5) pt1y)) ;eindpunt
   )
     )               ;einde maken lijn1
     (entmake
   (list '(0 . "LINE")      ;type entiteit
         '(8 . "GRID")      ;laag
         '(6 . "CONTINUOUS")   ;lijntype
         '(62 . 1)         ;kleur
         (cons 10 (list pt1x (+ pt1y 2.5))) ;startpunt
         (cons 11 (list pt1x (- pt1y 2.5))) ;eindpunt
   )
     )               ;einde maken lijn2
     (setq pt1y (+ pt1y afy))
   )
   (setq pt1x (+ pt1x afx))
   (setq pt1y (- pt1y (* aantal_op_x afy)))
 )

 (repeat aantal_op_y
   (setq ptb2 (list pt3x (- pt3y 10) 0.0))
   (setq ptb1 (list (- pt3x 2.5) (- pt3y 10) 0.0))
   (setq txt_x (strcat (itoa pt3x) ".00X"))
               ;het aanmaken van een tekst
   (entmake (list '(0 . "TEXT")   ;type entiteit
         '(8 . "TEXT")   ;laag
         (cons '10 ptb1)   ;tekst invoegpunt
         (cons '11 ptb2)   ;tekst invoegpunt
         '(40 . 5.0)      ;teksthoogte
         (cons '1 txt_x)   ;de tekst zelf
         '(50 . 4.71239)   ;tekst rotatiehoek(in radialen)
         '(41 . 1.0)      ;relatieve x-schaalfactor
         '(51 . 0.0)      ;helling (italic)
         '(7 . "Standard")   ;tekst stijlnaam
         '(71 . 0)      ;flags
         '(72 . 0)      ;horizontale uitlijning
         '(73 . 2)      ;vertikale uitlijning
        )
   )
   (setq pt3x (+ pt3x afx))
 )
 (repeat aantal_op_x
   (setq ptb4 (list (- pt4x 10) pt4y 0.0))
   (setq ptb3 (list (- pt4x 10) (- pt4y 2.5) 0.0))
   (setq txt_y (strcat (itoa pt4y) ".00Y"))
               ;het aanmaken van een tekst
   (entmake (list '(0 . "TEXT")   ;type entiteit
         '(8 . "TEXT")   ;laag
         (cons '10 ptb3)   ;tekst invoegpunt
         (cons '11 ptb4)   ;tekst invoegpunt
         '(40 . 5.0)      ;teksthoogte
         (cons '1 txt_y)   ;de tekst zelf
         '(50 . 0)      ;tekst rotatiehoek(in radialen)
         '(41 . 1.0)      ;relatieve x-schaalfactor
         '(51 . 0.0)      ;helling (italic)
         '(7 . "Standard")   ;tekst stijlnaam
         '(71 . 0)      ;flags
         '(72 . 2)      ;horizontale uitlijning
         '(73 . 2)      ;vertikale uitlijning
        )
   )
   (setq pt4y (+ pt4y afy))
 )
 (Princ "\nDone.")
 (Princ)
)
(Princ
 "\nProgrammatie : Hautekeete Olivier & Habils Kenny 09-06-2005"
)
(princ)
(Princ "\nVoor info typ 'info_grid'")
(princ)


EDIT

Juist programma staat op volgende pag  :wink:
8) Volvo 4 Life 8)