_

wspolrzedne, automatyczny odczyt

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".

wspolrzedne, automatyczny odczyt

Postprzez kg6934 » cze 17, 2016 14:45

Witam,

mam problem z odczytywaniem wspolrzednych, poniewaz musze podac wspolrzedne otworow z 400 podrozjazdnic.
w zalaczeniu jak to wyglada dla jednej podrozjazdnicy, jak do tej pory wymiarowalem kazdy otwor osobno po prostu przez wymiar
i recznie wpisywalen wartosc X i Y, niestety to trwa za dlugo i bardzo latwo o pomylke,

dlatego prosze o jakies rady jak to o wiele szybciej zrobic

Pozdrawiam
Załączniki
wspolrzedne.dwg
(127.88 KiB) Pobrane 65 razy
kg6934
 
Posty: 8
Dołączył(a): gru 27, 2015 18:33

Re: wspolrzedne, automatyczny odczyt

Postprzez ziele_o2k » cze 17, 2016 18:00

Na szybko naskrobane.
W razie pytań pisać.
Kod: Zaznacz cały
(defun c:wspxy ( / ss in bp cx cy s)
  (if (setq ss (ssget '((0 . "INSERT") (2 . "Blok_otwor"))))
    (repeat (setq in (sslength ss))
      (setq
        bp (trans(cdr (assoc 10 (entget (ssname ss (setq in (1- in))))))(ssname ss in)1)
        cx (cd:CON_Real2Str(car bp) 2 2)
        cy (cd:CON_Real2Str(cadr bp) 2 2)
        s (strcat "X= " cx " " "Y= " cy )
      )
      (cd:ENT_MakeText "Model" s bp 25 (/ pi 6))
    )
  )
  (princ)
)

Trzeba CadPacka wczytać.
Załączniki
wspolrzedne.dwg
(41.28 KiB) Pobrane 79 razy
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 678
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: wspolrzedne, automatyczny odczyt

Postprzez ziele_o2k » cze 17, 2016 18:08

kg6934 napisał(a):recznie wpisywalen wartosc X i Y

Dodatkowo warto poczytać o wymiarach współrzędnościowych :)
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 678
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: wspolrzedne, automatyczny odczyt

Postprzez kg6934 » cze 18, 2016 11:45

wczytywanie programu jeszcze nigdy nie robilem.

zobaczylem w necie ze ludzie wczytuja program, czyli te 2 pliki w zalaczeniu Autolisp- wybranie plikow-wczytanie

potem w dolnym wierszu wpisanie nazwy pliku, w moim przypadku CADPL i wspolrzedne i powinienen sie program wczytac,
ale u mnie wyskakuje nieznane polecenie.

jak to dokladnie zrobic?
Załączniki
wspolrzedne.lsp
(507 Bajtów) Pobrane 46 razy
CADPL.lsp
(177.16 KiB) Pobrane 37 razy
kg6934
 
Posty: 8
Dołączył(a): gru 27, 2015 18:33

Re: wspolrzedne, automatyczny odczyt

Postprzez ziele_o2k » cze 18, 2016 12:01

Wczytaj sobie te pliki.
Nazwy plików są tylko nazwami plików i to nie ma nic wspólnego z tym co w środku siedzi.

Jak wczytasz sobie cadpacka i mojego lispa to poleceniem do rysowania współrzędnych jest wspxy
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 678
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: wspolrzedne, automatyczny odczyt

Postprzez kg6934 » lut 09, 2018 08:58

Witam,

jest mozliwosc wczytania tych koordynatow automatycznie do excela?

Pozdrawiam
kg6934
 
Posty: 8
Dołączył(a): gru 27, 2015 18:33

Re: wspolrzedne, automatyczny odczyt

Postprzez ziele_o2k » lut 09, 2018 09:59

kg6934 napisał(a):(...)jest mozliwosc wczytania tych koordynatow automatycznie do excela?(...)

Jest. Niestety w tej chwili takiego narzędzia Ci nie podrzucę, ponieważ go nie mam.
Mam jakieś narzędzie do wyrzucania do pliku csv - powinno wystarczyć, jak poszukam i znajdę to wrzucę.
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 678
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: wspolrzedne, automatyczny odczyt

Postprzez kg6934 » lut 09, 2018 10:10

dobrze, to poprosze o Twoj program csv.
Dziekuje ziele!
kg6934
 
Posty: 8
Dołączył(a): gru 27, 2015 18:33

Re: wspolrzedne, automatyczny odczyt

Postprzez ziele_o2k » lut 11, 2018 18:59

Łap.
są dwa polecenia
wsp2csvL - wyrzuca współrzędne w lokalnym układzie współrzędnych
wsp2csvG - wyrzuca współrzędne w globalnym układzie współrzędnych
Kod: Zaznacz cały
(defun c:wsp2csvL ( / _ss _fn _res)
  (if
    (and
      (and
        (setq _ss (ssget '((0 . "INSERT") (2 . "Blok_otwor"))))
        (setq _fn (getfiled "Utwórz plik do zapisu danych" "" "csv" 1))
      )
    )
    (foreach % (cd:SSX_Convert _ss 0)
      (setq _res
        (cons (mapcar 'rtos (trans (cdr (assoc 10 (entget %))) % 1)) _res)
      )
    )
    (princ "\nBrak zbioru wskazań lub nie utworzono pliku do zapisu danych")
  )
  (if _res
    (LM:WriteCSV (reverse _res) _fn)
  )
  (princ)
)

(defun c:wsp2csvG ( / _ss _fn _res)
  (if
    (and
      (and
        (setq _ss (ssget '((0 . "INSERT") (2 . "Blok_otwor"))))
        (setq _fn (getfiled "Utwórz plik do zapisu danych" "" "csv" 1))
      )
    )
    (foreach % (cd:SSX_Convert _ss 0)
      (setq _res
        (cons (mapcar 'rtos (trans (cdr (assoc 10 (entget %))) % 0)) _res)
      )
    )
    (princ "\nBrak zbioru wskazań lub nie utworzono pliku do zapisu danych")
  )
  (if _res
    (LM:WriteCSV (reverse _res) _fn)
  )
  (princ)
)

;; Write CSV  -  Lee Mac
;; Writes a matrix list of cell values to a CSV file.
;; lst - [lst] list of lists, sublist is row of cell values
;; csv - [str] filename of CSV file to write
;; Returns T if successful, else nil
 
(defun LM:writecsv ( lst csv / des sep )
    (if (setq des (open csv "w"))
        (progn
            (setq sep (cond ((vl-registry-read "HKEY_CURRENT_USER\\Control Panel\\International" "sList")) (",")))
            (foreach row lst (write-line (LM:lst->csv row sep) des))
            (close des)
            t
        )
    )
)
 
;; List -> CSV  -  Lee Mac
;; Concatenates a row of cell values to be written to a CSV file.
;; lst - [lst] list containing row of CSV cell values
;; sep - [str] CSV separator token
 
(defun LM:lst->csv ( lst sep )
    (if (cdr lst)
        (strcat (LM:csv-addquotes (car lst) sep) sep (LM:lst->csv (cdr lst) sep))
        (LM:csv-addquotes (car lst) sep)
    )
)
 
(defun LM:csv-addquotes ( str sep / pos )
    (cond
        (   (wcmatch str (strcat "*[`" sep "\"]*"))
            (setq pos 0)   
            (while (setq pos (vl-string-position 34 str pos))
                (setq str (vl-string-subst "\"\"" "\"" str pos)
                      pos (+ pos 2)
                )
            )
            (strcat "\"" str "\"")
        )
        (   str   )
    )
)

CadPack oczywiście wczytany
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 678
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: wspolrzedne, automatyczny odczyt

Postprzez kg6934 » lut 12, 2018 09:29

Dziekuje Ziele!

a jak moge zmienic odczyt punktow?

np. przy poleceniu wspxy w DWG program wpisuje koordynaty np. X = -0.28, Y = 3193.77
natomiast przy programie wsp2csvL w arkuszu X = -0.2756 Y= 31.937.708

chcialbym miec tak samo jak w poleceniu wspxy.

Prosze o pomoc.

Pozdrawiam
Załączniki
L170806-SSB-Lageplan-KOORDINATEN-EW49-100-1.4.9249L-W4055-Rev.01.dwg
(324.72 KiB) Pobrane 16 razy
kg6934
 
Posty: 8
Dołączył(a): gru 27, 2015 18:33

Następna strona

Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników