07.08.2018 08:55    

oezcan
Merhaba arkadaşlar;

Point formatındaki 3 boyutlu noktaları Z değerleri yazacak şekilde Mtext formatına çevirmek istiyorum.

Bu işlemi toplu halde nasıl yapabilirim, veya önereceğiniz lisp olur mu?


Şimdiden çok teşekkür eder, iyi günler dilerim.

07.08.2018 10:33    

map0623
netcad programın var ise eğer ncn yada text dosyasına yazıdırın noktaları ..sonrasında nokta editöründen o yazdığınız dosyayı tekrar netcad de dökümünü yapın... eğer acad da görmek istiyorsanız yazı üret'ten kotları noktaları üretin ve acad olarka kaydedin sonra acad da açarsanız kotlu olarka noktaları görebilirsiniz.

07.08.2018 11:52    

oezcan
@map0623 öncelikle ilgniz için teşekkür ederim.

bu şekilde netcadden autocad e attığımda veride bozulmalar oluyor. mümkünse autocad içinde bir çözüme ihtiyacım olacak

07.08.2018 12:38    

alumina
Icerisinde 4-5 tane nokta olan ornek bir dosya paylasir misin. O 4-5 noktayi yan tarafa kopyalayip onceki hali bu, istedigim hali de bu olacak diye belirtirsen.

07.08.2018 13:30    

oezcan
404720-ornek1.dwg

404720-ornek2.dwg

İlk örnekte point formunda, ikincisi de hedeflediğim format(mtext formatında Z değerleri yazılı). İlginiz için teşekkürler @alumina

07.08.2018 14:12    

Travaci
oezcan


Kod:

(defun c:zwr (/ ss)
  (if (setq ss (ssget (list (cons 0 "Point"))))
    (progn
      (acet-undo-begin)
      (repeat (setq n (sslength ss))
        (setq ob (ssname ss (setq n (1- n))))
        (entmake (list (cons 0 "Mtext") (cons 100 "AcDbEntity")
          (cons 100 "AcDbMText") (setq pn (assoc 10 (entget ob)))
          (cons 40 (getvar 'textsize)) (cons 71 8) (cons 72 1)
          (cons 1 (rtos (cadddr pn) 2 2))))
        (entdel ob)
      ) (acet-undo-end)
    )
  ) (princ)
)

07.08.2018 17:28    

alumina
Alıntı
oezcan :

Kod:

(defun c:pth (/ ac sc) (vl-load-com)
  (if (ssget '((0 . "point")))
    (progn (vla-startundomark (setq ac (vla-get-activedocument
        (vlax-get-acad-object))))
      (mapcar '(lambda(a) (entmake (list '(0 . "mtext")
        '(100 . "AcDbEntity") '(100 . "AcDbMText") (cons 1
          (rtos (cadddr (setq sc (assoc 10 (entget a)))) 2 2))
            sc '(8 . "KIRMIZI") (cons 40 (getvar 'textsize))
              '(62 . 1) '(71 . 8) '(72 . 1))) (entdel a))
                 (vl-remove-if 'listp (mapcar 'cadr (ssnamex
                   (ssget "_P"))))) (vla-endundomark ac)
    )
  ) (prin1)
)

08.08.2018 06:52    

oezcan
@Travaci @alumina

Tam istediğim şekilde çok teşekkür ederim emeğinize sağlık.

> 1 <
Copyright © 2004-2022 SQL: 1.464 saniye - Sorgu: 62 - Ortalama: 0.02361 saniye