Đến nội dung


Hình ảnh
* * * - - 17 Bình chọn

Hỏi về Lisp (thuật toán, ý tưởng, coding,...)


  • Please log in to reply
2851 replies to this topic

#2041 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 21 October 2014 - 12:46 PM

-Sax chắc bị anh Ket trừ lv quá ^^

(set pt1 (getpoint))

(set pt2 (getpoint pt2)

=> kaka mất căn bản trầm trọng  :P


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2042 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 October 2014 - 02:52 PM

-Sax chắc bị anh Ket trừ lv quá ^^

(set pt1 (getpoint))

(set pt2 (getpoint pt2)

=> kaka mất căn bản trầm trọng  :P

Hề hề hề,

Chuyện thường ngày ở quê tớ mà, có chi phải lo. Nhóc chăm học như vầy là chóng lên tay lắm đó. Cứ viết nhiều, lỗi nhiều rồi kiếm ra lỗi là lên như thăng thiên ấy mà. Nhưng mà cẩn thận chút chút, viết ít bị lỗi thì thăng thiên nhanh hơn........

Hề hề hề, diễn đàn lại có thêm lisper nữa rùi.....


  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2043 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 21 October 2014 - 08:52 PM

- hi thanks a Binh động viên, cái lsp nhoc đang mò hồi sáng hoàn thành rùi, anh Binh có rãnh ghé ngang topic Listp vn-2000, xem chơi thành quả đầu của nhoc  :P


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2044 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 08:56 AM

nhoc đang tính cải tiến lsp của nhoc bằng pick chọn khung, mấy anh cho nhoc hỏi có cách nào lọc ra đc 2 điểm dưới trái goc khung với trên phải góc khung ko ạ ^^, nếu cụ thể vẽ rectang từ dưới lên thì nhoc có thể lấy ra đc còn trường khác thì ko pit ^^,nhoc tính viết 1 cái tổng quát hơn
  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2045 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 22 October 2014 - 09:54 AM

 

nhoc đang tính cải tiến lsp của nhoc bằng pick chọn khung, mấy anh cho nhoc hỏi có cách nào lọc ra đc 2 điểm dưới trái goc khung với trên phải góc khung ko ạ ^^, nếu cụ thể vẽ rectang từ dưới lên thì nhoc có thể lấy ra đc còn trường khác thì ko pit ^^,nhoc tính viết 1 cái tổng quát hơn

 

nhoc đang tính cải tiến lsp của nhoc bằng pick chọn khung, mấy anh cho nhoc hỏi có cách nào lọc ra đc 2 điểm dưới trái goc khung với trên phải góc khung ko ạ ^^, nếu cụ thể vẽ rectang từ dưới lên thì nhoc có thể lấy ra đc còn trường khác thì ko pit ^^,nhoc tính viết 1 cái tổng quát hơn

 

Việc lấy toạ độ 4 đỉnh của Rectang thì quá dễ với nhóc.

Sắp xếp list theo toạ độ Y  -> lấy 2 điểm đầu hoặc cuối tuỳ theo sort từ nhỏ đến lớn hay ngược lại.

 

T/hợp đặc biệt : nếu Rectang có 1 đuòng chéo song song với trục X, cần thêm 1 số đ.kiện mới xác định được.


Bài viết đã được chỉnh sửa nội dung bởi gia_bach: 22 October 2014 - 10:36 AM

  • 0

#2046 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 12:06 PM

- thanks anh Gia_bach, nhoc vẫn chưa biết sort thằng Y cách nào, dùng hàm vl thì nhoc chưa pit, đi vòng vòng 4rum thấy thằng nào dê hiểu nhoc mót thằng đó chứ chưa học về nó nhiều, tọa độ nhoc mún lấy là góc dưới trái, với góc trên phải, nếu sort theo Y, thì có 2 điểm trên trái với trên phải Y= nhau khác X, nhoc sợ nó sếp thằng Y trên trái trước thì khổ ^^, cái tổng quát nhoc mún là dù người vẽ cái khung bắt đầu từ đâu thì cũng xác định đc thứ tự 2 điểm nhoc cần lấy mặc dù vòng vòng thì cũng chỉ có 4 điểm ^^, ý của nhoc nếu sắp sếp đc ok theo ý đồ, nhoc dùng nth để lấy 2 thằng trong đó ra tính ^^

- mấy anh rãnh xem qua lsp giúp nhoc với, nhờ anh ndtnv nhoc tóm nó gọn hơn ko dài lưa thưa nữa ^^

;hàm tao textstyle
(defun emk_style (MyStyle MyFont)
(entmake (list    (cons 0 "STYLE")    
(cons 100 "AcDbSymbolTableRecord")    
(cons 100 "AcDbTextStyleTableRecord")    
(cons 2 MyStyle)    (cons 3  MyFont)    
(cons 70 0))))
;;;;
(defun MakeLine (PT1 PT2 Layer Linetype LTScale xdata)
	(entmakex (list '(0 . "LINE")
	(cons 8 (if Layer Layer (getvar "Clayer")))
	(cons 6 (if Linetype Linetype "bylayer"))
	(cons 48 (if LTScale LTScale 1))
	(cons 10 PT1)	(cons 11 PT2)
	(cons -3 (if xdata (list xdata) nil))))) 
;;;;;;--------------------------------------------------------------------------------------------
;================================================================================================
(defun dtr (a)
(* (/ a 180.0) pi)
)
(prompt "LISP TAO LUOI TOA DO BAN DO VI TRI, LENH : KKL")
;;;
(defun c:kkl (/ donvi nx ny pt1 pt2 kcx kcy goc1 goc2 x1 x y  heso old ptext1 ptext2 ptext3 ptext4 str str2 goc3 htext num )
(vl-load-com)
(setq old (getvar "osmode"))
(if (null (tblsearch "STYLE" "vusaln"))
    (emk_style "vusaln" "Vaptimn.TTF"))
(if (null (tblsearch "LAYER" "A1-luoik"))
    (_layer2 "A1-luoik" 7))
  (setq tyleVT (getvalue tyleVT 1000.0 "Nhap ty le ban do VT: "))
  (setq heso (/ 1000 tyleVT))
  (setq htext (/ 2.0 heso))
;===================================*******************++++++++++++++++++++********************===================================  
(while (and (setvar "osmode" 1)
            (setq pt1 (getpoint "\nChon diem goc duoi trai khung:"))
            (setq pt2 (getpoint pt1 "\nChon diem goc tren phai khung:")))
(progn
(setvar "osmode" 0)
;======================================================================
;=======================================================================
(setq kcx (- (car pt2) (car pt1)) kcy (- (cadr pt2) (cadr pt1)))
;===============================================================================================
(cond
            ((and (>= (/ kcx 100) 2) (>= (/ kcy 100) 2))
             (setq donvi 100))
            ((and (>= (/ kcx 50) 2) (>= (/ kcy 50) 2))
             (setq donvi 50))
            ((and (>= (/ kcx 25) 2) (>= (/ kcy 25) 2))
             (setq donvi 25))
            )
(if donvi
     (progn
         (setq nx (fix (/ kcx donvi)) ny (fix (/ kcy donvi)))
 ;==============================================================================================
 (setq goc2 (list (lamtron (fix (+ (car pt1) 10))) (cadr pt1) 0.0))
(setq goc3 (list (car pt1) (lamtron (fix (+ (cadr pt1) 10))) 0.0))
;===============================================================
(repeat nx

(makeline goc2 (polar goc2 (/ pi 2) (/ 8.0 heso)) "A1-luoik" nil nil nil)
;=======================================================================
(setq ptext1 (polar goc2 (dtr 23) (/ 3.5 heso)))
(setq ptext2 (polar goc2 (dtr 158) (/ 3.5 heso)))
(setq num (fix (car goc2)))
(setq str (them0 (itoa (rem num 1000))))
(setq str2 (itoa (/ num 1000)))
(mktext ptext1 htext str "M" "A1-luoik" "vusaln" nil)
(mktext ptext2 htext str2 "M" "A1-luoik" "vusaln" nil)
;=======================================================================
(setq goc2 (mapcar '+ goc2 (list donvi 0.0 0.0)))
) ;end repeat nx
;============================================================
(repeat ny
(makeline goc3 (polar goc3 0 (/ 8.0 heso)) "A1-luoik" nil nil nil)
;=====================================================================
(setq ptext3 (polar goc3 (dtr 23) (/ 4.0 heso)))
(setq ptext4 (polar goc3 (dtr 338) (/ 4.0 heso)))
(setq num (fix (cadr goc3)))
(setq str (them0 (itoa (rem num 1000))))
(setq str2 (itoa (/ num 1000)))
(mktext ptext3 htext str2 "M" "A1-luoik" "vusaln" nil)
(mktext ptext4 htext str "M" "A1-luoik" "vusaln" nil)
;============================================================= 
(setq goc3 (mapcar '+ goc3 (list 0.0 donvi 0.0)))
); end repeat ny
;============================================================
(setq goc1 (list (lamtron (fix (+ (car pt1) 10))) (lamtron (fix (+ (cadr pt1) 10))) 0.0))
;============================================================================================ 
 (setq x (car goc1))
  (repeat nx
    (setq y (cadr goc1))
    (repeat ny
      
	  (vediem x y (/ 2.5 heso))
      (setq y (+ y donvi))
    )
;===============================================================================================
    (setq x (+ x donvi))
  )
 ;==============================================================================================
 ) ;end progn donvi
   (alert "Ban chon Khung KiBo qua\nVe Khung Lai Hen!!!^^") ; end nho hon 25
) ; end if don vi
;==============================================================================
) ; end progn while
) ; end while
(setvar "osmode" old)
(princ)
)
;==============================================================================================
;;;;;;;;;;;;;;;;;;;;
(defun lamtron (n / sodu)
  (setq sodu (rem n 100))
  (if (/= sodu 0)
    (setq n (+ (- n sodu) 100))
  )
  n
)
;=================================
(defun vediem (xx yy r / left right top bot)
  (setq top (+ yy r))
  (setq bot (- yy r))
  (setq right (+ xx r))
  (setq left (- xx r))
  (makeline (list left yy) (list right yy) "A1-luoik" nil nil nil)
  (makeline (list xx top) (list xx bot) "A1-luoik" nil nil nil)
)
;============================
;=================================================================================
(defun _layer2 ( name colour )
    (if (null (tblsearch "LAYER" name))
        (entmake
            (list
               '(0 . "LAYER")
               '(100 . "AcDbSymbolTableRecord")
               '(100 . "AcDbLayerTableRecord")
               '(70 . 0)
                (cons 2 name)
                (cons 62 colour)
            )
        )
    )
)
;=====================================================================================
;; ham luu gia tri
(defun getvalue ( a giatri dongnhac / astr) 
(or a (setq a giatri))
(cond
	((= (type a) 'INT) (setq a (cond ((getint (strcat "\n" dongnhac "(" (itoa a) ") :")))(a))))
	((= (type a) 'REAL) (setq a (cond ((getreal (strcat "\n" dongnhac "(" (rtos a 2 0) ") :")))(a))))
	((= (type a) 'STR) (setq a (cond ((= "" (setq astr (getstring T (strcat "\n" dongnhac " (" a "): ")))) a) (astr))))
))
;;;;
;;ham tao text 2
(defun mktext (point height string justify layer textstyle mau / lst)
(setq lst (list '(0 . "TEXT")
                              (cons 10 point)
							  (cons 40 height)
							  (cons 1 string)
							  (cons 8 layer)
							  (cons 7 (if textstyle textstyle (getvar "textstyle")))
							  (cons 62 (if mau mau 256))
							  
			)
			justify (strcase justify))
		(cond   ((= justify "L") (setq Lst (append Lst (list (cons 72 0) (cons 11 point)))))
		        ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))
				((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))
				((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))
				)
	(entmakex Lst)
  )	;end mktext
;;--------------------------------------
(defun them0(chuoi)
  (setq len (strlen chuoi))
  (if (= len 1)
    (strcat "00" chuoi)
    (if (= len 2)
      (strcat "0" chuoi)
      chuoi
    )  
  )
 )

- nếu xác định sai 2 điểm, lưới tạo ra sẽ ko ở trong khung chọn ^^

(defun K:getlstp(v / l1 l2)
(setq l1 (acet-geom-vertex-list v))
(setq l2 nil)
(foreach x l1
 (if (not (member x l2)) (setq l2 (cons x l2))))
 l2
)
(defun c:xxx()
(prompt "chon doi tuong:")
(setq lstp (K:getlstp (ssname (ssget "+.:E:S" '((0 . "LWPOLYLINE"))) 0)))
(setq pt1 (nth 0 kl))
(setq pt2 (nth 2 kl))
;.............................
)
  

- nhoc mới nghĩ ra đc tới đây chưa pit sort kiểu nào ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2047 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 22 October 2014 - 12:47 PM

- nhoc mới nghĩ ra đc tới đây chưa pit sort kiểu nào ^^

Sorry, Anh nhầm. (tưởng là lấy 2 điểm dưới bl - br)

 

nếu Rectang nằm ngang thì dùng hàm vla-getBoundingBox  lấy BottomLeft và TopRight (kiểu của obj là Vla-Object )

(vla-getBoundingBox obj 'minp 'maxp )
(setq BL (vlax-safearray->list minp)
      TR (vlax-safearray->list maxp) )

  • 1

#2048 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 02:22 PM

- ^^ quá hay, thanhk a Gia_bach nhoc nghĩ phải đi vòng vòng mới ra đc 


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2049 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 03:43 PM

- hi xử đc cái khung nhưng mất cái while rùi ^^, ai gợi ý hộ nhoc viết sao để chọn đc nhiều khung 1 lúc với, nhoc viết cũng gần ra, nhưng nếu chuột phải thoát thì báo lỗi ^^

;hàm tao textstyle
(defun emk_style (MyStyle MyFont)
(entmake (list    (cons 0 "STYLE")    
(cons 100 "AcDbSymbolTableRecord")    
(cons 100 "AcDbTextStyleTableRecord")    
(cons 2 MyStyle)    (cons 3  MyFont)    
(cons 70 0))))
;;;;
(defun MakeLine (PT1 PT2 Layer Linetype LTScale xdata)
	(entmakex (list '(0 . "LINE")
	(cons 8 (if Layer Layer (getvar "Clayer")))
	(cons 6 (if Linetype Linetype "bylayer"))
	(cons 48 (if LTScale LTScale 1))
	(cons 10 PT1)	(cons 11 PT2)
	(cons -3 (if xdata (list xdata) nil))))) 
;;;;;;--------------------------------------------------------------------------------------------
;================================================================================================
(defun dtr (a)
(* (/ a 180.0) pi)
)
(prompt "LISP TAO LUOI TOA DO BAN DO VI TRI, LENH : KKL")
;;;
(defun c:kkl (/ donvi nx ny pt1 pt2 kcx kcy goc1 goc2 x1 x y  heso old ptext1 ptext2 ptext3 ptext4 str str2 goc3 htext num)
(vl-load-com)
(setq old (getvar "osmode"))
(if (null (tblsearch "STYLE" "vusaln"))
    (emk_style "vusaln" "Vaptimn.TTF"))
(if (null (tblsearch "LAYER" "A1-luoik"))
    (_layer2 "A1-luoik" 7))
  (setq tyleVT (getvalue tyleVT 1000.0 "Nhap ty le ban do VT: "))
  (princ "\n")
  (setq heso (/ 1000 tyleVT))
  (setq htext (/ 2.0 heso))
(prompt "Chon Khung chay luoi, luu y khung chon phai la polyline:")
(while (/= (vla-getBoundingBox (vlax-ename->vla-object (ssname (ssget "+.:E:S" '((0 . "LWPOLYLINE"))) 0)) 'minp 'maxp))
;===================================*******************++++++++++++++++++++********************===================================  
(progn
(setvar "osmode" 0)
;======================================================================
(setq pt1 (vlax-safearray->list minp))
          (setq pt2 (vlax-safearray->list maxp))
;=======================================================================
(setq kcx (- (car pt2) (car pt1)) kcy (- (cadr pt2) (cadr pt1)))
;===============================================================================================
(cond
            ((and (>= (/ kcx 100) 2) (>= (/ kcy 100) 2))
             (setq donvi 100))
            ((and (>= (/ kcx 50) 2) (>= (/ kcy 50) 2))
             (setq donvi 50))
            ((and (>= (/ kcx 25) 2) (>= (/ kcy 25) 2))
             (setq donvi 25))
            )
(if donvi
     (progn
         (setq nx (fix (/ kcx donvi)) ny (fix (/ kcy donvi)))
 ;==============================================================================================
 (setq goc2 (list (lamtron (fix (+ (car pt1) 10))) (cadr pt1) 0.0))
(setq goc3 (list (car pt1) (lamtron (fix (+ (cadr pt1) 10))) 0.0))
;===============================================================
(repeat nx

(makeline goc2 (polar goc2 (/ pi 2) (/ 8.0 heso)) "A1-luoik" nil nil nil)
;=======================================================================
(setq ptext1 (polar goc2 (dtr 23) (/ 3.5 heso)))
(setq ptext2 (polar goc2 (dtr 158) (/ 3.5 heso)))
(setq num (fix (car goc2)))
(setq str (them0 (itoa (rem num 1000))))
(setq str2 (itoa (/ num 1000)))
(mktext ptext1 htext str "M" "A1-luoik" "vusaln" nil)
(mktext ptext2 htext str2 "M" "A1-luoik" "vusaln" nil)
;=======================================================================
(setq goc2 (mapcar '+ goc2 (list donvi 0.0 0.0)))
) ;end repeat nx
;============================================================
(repeat ny
(makeline goc3 (polar goc3 0 (/ 8.0 heso)) "A1-luoik" nil nil nil)
;=====================================================================
(setq ptext3 (polar goc3 (dtr 23) (/ 4.0 heso)))
(setq ptext4 (polar goc3 (dtr 338) (/ 4.0 heso)))
(setq num (fix (cadr goc3)))
(setq str (them0 (itoa (rem num 1000))))
(setq str2 (itoa (/ num 1000)))
(mktext ptext3 htext str2 "M" "A1-luoik" "vusaln" nil)
(mktext ptext4 htext str "M" "A1-luoik" "vusaln" nil)
;============================================================= 
(setq goc3 (mapcar '+ goc3 (list 0.0 donvi 0.0)))
); end repeat ny
;============================================================
(setq goc1 (list (lamtron (fix (+ (car pt1) 10))) (lamtron (fix (+ (cadr pt1) 10))) 0.0))
;============================================================================================ 
 (setq x (car goc1))
  (repeat nx
    (setq y (cadr goc1))
    (repeat ny
      
	  (vediem x y (/ 2.5 heso))
      (setq y (+ y donvi))
    )
;===============================================================================================
    (setq x (+ x donvi))
  )
 ;==============================================================================================
 ) ;end progn donvi
   (alert "Ban chon Khung KiBo qua\nVe Khung Lai Hen!!!^^") ; end nho hon 25
) ; end if don vi
;==============================================================================
) ; end progn while
) ; end while
(setvar "osmode" old)
(princ)
)
;==============================================================================================
;;;;;;;;;;;;;;;;;;;
(defun lamtron (n / sodu)
  (setq sodu (rem n 100))
  (if (/= sodu 0)
    (setq n (+ (- n sodu) 100))
  )
  n
)
;=================================
(defun vediem (xx yy r / left right top bot)
  (setq top (+ yy r))
  (setq bot (- yy r))
  (setq right (+ xx r))
  (setq left (- xx r))
  (makeline (list left yy) (list right yy) "A1-luoik" nil nil nil)
  (makeline (list xx top) (list xx bot) "A1-luoik" nil nil nil)
)
;============================
;=================================================================================
(defun _layer2 ( name colour )
    (if (null (tblsearch "LAYER" name))
        (entmake
            (list
               '(0 . "LAYER")
               '(100 . "AcDbSymbolTableRecord")
               '(100 . "AcDbLayerTableRecord")
               '(70 . 0)
                (cons 2 name)
                (cons 62 colour)
            )
        )
    )
)
;=====================================================================================
; ham luu gia tri
(defun getvalue ( a giatri dongnhac / astr) 
(or a (setq a giatri))
(cond
	((= (type a) 'INT) (setq a (cond ((getint (strcat "\n" dongnhac "(" (itoa a) ") :")))(a))))
	((= (type a) 'REAL) (setq a (cond ((getreal (strcat "\n" dongnhac "(" (rtos a 2 0) ") :")))(a))))
	((= (type a) 'STR) (setq a (cond ((= "" (setq astr (getstring T (strcat "\n" dongnhac " (" a "): ")))) a) (astr))))
))
;;;;
;ham tao text 2
(defun mktext (point height string justify layer textstyle mau / lst)
(setq lst (list '(0 . "TEXT")
                              (cons 10 point)
							  (cons 40 height)
							  (cons 1 string)
							  (cons 8 layer)
							  (cons 7 (if textstyle textstyle (getvar "textstyle")))
							  (cons 62 (if mau mau 256))
							  
			)
			justify (strcase justify))
		(cond   ((= justify "L") (setq Lst (append Lst (list (cons 72 0) (cons 11 point)))))
		        ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))
				((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))
				((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))
				)
	(entmakex Lst)
  );end mktext
;--------------------------------------
(defun them0(chuoi)
  (setq len (strlen chuoi))
  (if (= len 1)
    (strcat "00" chuoi)
    (if (= len 2)
      (strcat "0" chuoi)
      chuoi
    )  
  )
 )
;error: bad argument type: lselsetp nil

  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2050 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 06:33 PM

- hi hi nhoc hiểu rùi, nhoc tìm ra cách rùi :)


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2051 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 22 October 2014 - 07:18 PM

Dựa vào cái kiểm soát vòng lặp mà anh đưa lần trước đó.

(setq loop T)
(while loop
	(setq Pnt (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m : "))
  	(cond
	  (T
		(if Pnt
		  (progn
		    	

		    	
		  )
		  (setq loop nil)
		)
	  )
	)
  	
  	
)

  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2052 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 22 October 2014 - 07:24 PM

Nhoclangbat có hiểu vì sao anh vẽ Pline nối các đỉnh của khung không?


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2053 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 22 October 2014 - 08:41 PM

- để từ pline đó lấy đc tọa độ các góc Khung làm cơ sở triển lưới phải ko anh ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2054 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 22 October 2014 - 09:12 PM

Nếu thế anh đâu cần phải vẽ Pline. Quét 1 loạt là anh tóm dc nó ngay mà.

Mục đích là cho nó chạy theo thứ tự.

Đừng tạo mắt lưới trên Model, như thế nó sẽ bị đè bởi các đối tượng khác.

Khi tạo ra mắt lưới thì ném nó vào 1 Wblock và gắn cho nó 1 cái tên.

Khi mình chèn sẽ chèn trong Layout và theo thứ tự từng khung.

Mặt khác, khi in mình cũng có thể kiểm soát được in cái nào trước cái nào sau.

Còn cái quét thì nó sẽ ngẫu nhiên. Khó kiểm soát.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2055 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 23 October 2014 - 06:58 PM

Chào các bạn. Nếu các bạn biết về vđ này xin hướng dẫn giúp.

Trên cad có đối tượng MPOLYGON được tạo tư cadmap (vẫn đọc được trẹn cad thường), trên bảng properires nó có thuộc tính total area nhưng làm các nào đẻ truy xuất nó bằng lisp.http://www.cadviet.c...70_hcadviet.dwg

Xin cám ơn các bạn


  • 0

#2056 thanhduan2470

thanhduan2470

    Chưa sử dụng CAD

  • Members
  • Pip
  • 4 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 23 October 2014 - 07:07 PM

Sao bạn ko Explode nó ra :)


  • 0

#2057 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 23 October 2014 - 07:14 PM

Dùng (vla-get-area (vlax-ename->vla-object (car (entsel))))


  • 1

#2058 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 23 October 2014 - 09:07 PM

- ek mí a mod xem hộ có ai chọc ghẹo tạo 2 acc hao hao nhoc với anh Duan làm náo loạn dân tâm ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2059 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5680 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 23 October 2014 - 10:13 PM

Nhìn danh tiếng và chức vụ là biết ngay, k lẫn được đâu.Cũng có người tạo nick ketxu ở các diễn đàn khác rao bán lisp :D


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#2060 Namvanvo

Namvanvo

    Edu level: li5

  • Members
  • PipPipPipPipPip
  • 386 Bài viết
Điểm đánh giá: 42 (tàm tạm)

Đã gửi 23 October 2014 - 10:25 PM

Nhìn danh tiếng và chức vụ là biết ngay, k lẫn được đâu.Cũng có người tạo nick ketxu ở các diễn đàn khác rao bán lisp :D

chà, căng nhỉ, danh tiếng và chức vụ của mình dễ làm giả lắm, sáng mai thức dậy có thêm 1 nick namsovo thì............ :ph34r:


  • 0