_

kreskowanie betonu komórkowego

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

kreskowanie betonu komórkowego

Postprzez kwaart » lip 16, 2017 23:52

Witam.
Czy ktoś użyczył by wzoru kreskowania (.pat) dla betonu komórkowego?
Okazuje się, że jest.
hatch betonu komórkowego.jpg
kreskowanie betonu komórkowego ISTNIEJE


Mam takie kreskowanie na otrzymanym rysunku, ale nie mogę go "przenieść" na inne kreskowanie anu wybrać jako "właściwości dziedziczne" w oknie kreskowania.

Może jakaś pomoc w tym sposobie?

Z góry dziękuję
Pozdrawiam i dobrego dnia, kwaki z kwaart [AC2008PL]
kwaart
 
Posty: 60
Dołączył(a): lut 13, 2015 11:11

Re: kreskowanie betonu komórkowego

Postprzez ziele_o2k » lip 17, 2017 13:37

kwaart napisał(a):Witam.
Czy ktoś użyczył by wzoru kreskowania (.pat) dla betonu komórkowego?
Okazuje się, że jest.
hatch betonu komórkowego.jpg


Mam takie kreskowanie na otrzymanym rysunku, ale nie mogę go "przenieść" na inne kreskowanie anu wybrać jako "właściwości dziedziczne" w oknie kreskowania.

Może jakaś pomoc w tym sposobie?

Z góry dziękuję


Udostępnić nie mogę bo z jakimś programem dostałem, ale tutaj masz lispa, który wyciągnie Ci .pat jak masz już go w dwgu. Wrzuć potem tutaj ;)
Kod: Zaznacz cały
(defun C:GETPAT (/ cmde hat elst rotn hnam temp xofs yofs what
                   temp outf flin angl tmp1 tmp2 xvec yvec)

  (setq cmde (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (while (not (setq hat (entsel "\nSelect hatch: "))))
  (setq elst (entget (car hat)))
  (if (= (cdr (assoc 0 elst)) "HATCH")
    (progn
      (setq rotn (* 180 (/ (cdr (assoc 52 elst)) pi))
            hnam (cdr (assoc 2 elst))
            hscl (cdr (assoc 41 elst))
      )

;; The following nine lines may optionally be omitted.
;; Their purpose is to create a temporary "clone" of the
;; selected hatch with a 0 deg. rotation angle, in case
;; the hatch object specified a rotation angle. If these
;; lines are omitted, the current rotation of the selected
;; hatch will become the "0" deg. rotation for the extracted
;; pattern definition.
      (if (not (zerop rotn))
        (progn
          (setq temp elst)
          (entmake temp)
          (command "_.rotate" (entlast) "" (cdr (assoc 10 temp))(- rotn))
          (setq elst (entget (entlast)))
          (entdel (entlast))
        )
      )
;; End of optional code.

      (setq xofs (cdr (assoc 43 elst))
            yofs (cdr (assoc 44 elst))
            elst (member (assoc 53 elst) elst)
      )
      (setq outf (strcat (getvar 'dwgprefix) hnam ".pat"))
      (setq outf (open outf "w")
            flin (strcat "*" hnam)
      )
      (foreach x elst
        (cond
          ((= (car x) 53)
            (write-line flin outf)
            (setq angl (cdr x)
                  flin (trim (angtos angl 0 7))
            )
          )
          ((= (car x) 43)
            (setq flin (strcat flin ", " (trim (rtos (/ (- (cdr x) xofs) hscl) 2 7))))
          )
          ((= (car x) 44)
            (setq flin (strcat flin "," (trim (rtos (/ (- (cdr x) yofs) hscl) 2 7))))
          )
          ((= (car x) 45)
            (setq tmp1 (cdr x))
          )
          ((= (car x) 46)
            (setq tmp2 (cdr x)
                  xvec (/ (+ (* tmp1 (cos angl))(* tmp2 (sin angl))) hscl)
                  yvec (/ (- (* tmp2 (cos angl))(* tmp1 (sin angl))) hscl)
                  flin (strcat flin ", " (trim (rtos xvec 2 7)) "," (trim (rtos yvec 2 7)))
            )
          )
          ((= (car x) 49)
            (setq flin (strcat flin ", " (trim (rtos (/ (cdr x) hscl) 2 7))))
          )
          ((= (car x) 98)
            (write-line flin outf)
          )
          (T nil)
        )
      )
      (write-line "" outf)
      (close outf)
      (alert (strcat hnam " pattern definition written to " hnam ".PAT"))
    )
    (alert "Selected object not a HATCH.")
  )
  (setvar "cmdecho" cmde)
  (princ)
)
(defun trim (x / n)
  (setq n (strlen x))
  (while (= (substr x (1+ n) 1) "0")
    (setq n (1- n)
          x (substr x 1 (1+ n))
    )
  )
  (if (= (substr x (1+ n) 1) ".")
    (setq x (substr x 1 (1- (1+ n))))
  )
  x
)
(princ)

Źródło - musiałem coś tam zmienić bo nie śmigało
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 507
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: kreskowanie betonu komórkowego

Postprzez kwaart » lip 19, 2017 23:58

Podziękował za lispa. :D
Zadziałał:
05-BETON LEKKI.pat
wyekstrahowany z rysunku wzór betonu komórkowego - gazobetonu
(9.65 KiB) Pobrane 123 razy


W między czasie znalazłem na portalu http://forum.procad.pl/viewtopic.php?t=1856 wzór gazobetonu udostępniony przez autor: pies » 14 sty 2009, 09:23. Za co dziękuję, choć nie wiem czy to tu odczytają. :) Co prawda, trochę krzywy i nie w tej skali, co potrzebowałem, ale na jego bazie i z inspiracji zrobiłem swój własny, a właściwie kilka. Uwzględniałem rysunek dwg w ISO i cm dla skali s100:

GAZObeton s100 ISO 1j.pat
(1.1 KiB) Pobrane 72 razy

GAZOŻELBET s100 ISO 1j.pat
(1.15 KiB) Pobrane 35 razy

GAZOŻELBET1 s100 ISO 1j.pat
(1.13 KiB) Pobrane 37 razy

gaz DO betonu ISO s100.pat
Jak by komuś było mało, ;)
(1.02 KiB) Pobrane 40 razy


Przy okazji zbadałem systematykę tworzenia wzorów kreskować, którą zamieszczę w osobnym wątku, jak znajdę jakiś pasujący albo nowym.
Pozdrawiam i dobrego dnia, kwaki z kwaart [AC2008PL]
kwaart
 
Posty: 60
Dołączył(a): lut 13, 2015 11:11


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Yahoo [Bot]