Polyline Ölçülendirme

Çizilmiş bir polyline i otomatik olarak aligned olarak ölçülendirmek için yazılmış bir lisp umarım işinize yarar.

(defun c:pdim(/ plSet pLlst vLst oldOsn cAng cDis cPt)
  (princ "\n<<< Select LwPolyline for dimensioning >>> ")
  (if(setq plSet(ssget '((0 . "LWPOLYLINE"))))
    (progn
      (setq pLlst(vl-remove-if 'listp
                         (mapcar 'cadr(ssnamex plSet))))
      (setvar "OSMODE" 0)(setvar "CMDECHO" 0)
      (foreach pl pLlst
	(setq vLst(mapcar 'cdr
		    (vl-remove-if-not
		      '(lambda(x)(= 10(car x)))(entget pl)))
	      oldOsn(getvar "OSMODE")
	      ); end setq
	(while(< 1(length vLst))
	  (setq cAng(angle(car vLst)(cadr vLst))
		cDis(/(distance(car vLst)(cadr vLst))2)
		cPt(polar(polar(car vLst)cAng cDis)
			 (+ cAng(/ pi 2))(* 2(getvar "DIMTXT")))
		); end setq
	  (command "_.dimaligned"(car vLst)(cadr vLst) cPt)
	  (setq vLst(cdr vLst))
	  ); end while
	); end foreach
      (setvar "OSMODE" oldOsn)(setvar "CMDECHO" 1)
      ); end progn
    ); end if
  (princ)
  ); end of c:pdim
Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s