Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Nguyen Hoanh

Viết Lisp theo yêu cầu

Các bài được khuyến nghị

Bạn có thể post yêu cầu về autolisp ở topic này.

Xin chào Anh Hoành! Em là thành viên mới, em đã xem rất nhiều lisp mà anh viết, em công nhận Anh là cao thủ về lisp, các yêu cầu của các thành viên diễn đàn anh đều đáp ứng được. Em cũng mới tập tành nghiên cứu về lisp, như em thấy khó quá, trăm sự nhờ anh giúp đỡ.

Em muốn anh viết giúp em một lisp như sau: Tạo một Linetype trong Autocad có cú pháp text nằm giữa các ký hiệu gạch ngang (ví dụ: ống D100===ống D100===Ống D100, ống D150===ống D150===ống D150...) để em sử dụng trong bản vẽ mặt bằng cấp nước. Cảm ơn Anh nhiều

(Có thể em viết hơi dài, nhưng mong Anh thông cảm, vì là thành viên mới nên cách diễn đạt chưa được hay lắm)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Xin chào Anh Hoành! Em là thành viên mới, em đã xem rất nhiều lisp mà anh viết, em công nhận Anh là cao thủ về lisp, các yêu cầu của các thành viên diễn đàn anh đều đáp ứng được. Em cũng mới tập tành nghiên cứu về lisp, như em thấy khó quá, trăm sự nhờ anh giúp đỡ.

Em muốn anh viết giúp em một lisp như sau: Tạo một Linetype trong Autocad có cú pháp text nằm giữa các ký hiệu gạch ngang (ví dụ: ống D100===ống D100===Ống D100, ống D150===ống D150===ống D150...) để em sử dụng trong bản vẽ mặt bằng cấp nước. Cảm ơn Anh nhiều

(Có thể em viết hơi dài, nhưng mong Anh thông cảm, vì là thành viên mới nên cách diễn đạt chưa được hay lắm)

 

Để tạo linetype như bạn yêu cầu thì cad có sẳn lệnh trong phần Express rồi đó bạn. Lệnh là MKLTYPE . bạn tìm trong diển đàn mình có bài hướng dẩn dùng lệnh này rất kỷ rồi đó.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em có một yêu cầu nhỏ mong các bờ rồ giúp em viết 1 cái lisp.Nó đơn giản cực, nhưng em không có thời gian để học lisp nên không thể tự viết được.

Nó như thế này ạ:

bản vẽ của em dùng layer theo số thứ tự từ 1 đến 9. Em muốn cái lisp đó có một loạt lệnh là các số từ 1 đến 9 để chuyển sang các layer cùng. Nghĩa là lệnh "1" sẽ chuyển sang layer hiện hành là layer-1, lệnh "2" sang layer 2, ...(giống như lệnh "ai_molc" rồi click vào layer trong bản vẽ)

Em xin cám va mong sớm có lisp để dùng. Chúc cả nhà vui vẻ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
em có một yêu cầu nhỏ mong các bờ rồ giúp em viết 1 cái lisp.Nó đơn giản cực, nhưng em không có thời gian để học lisp nên không thể tự viết được.

Nó như thế này ạ:

bản vẽ của em dùng layer theo số thứ tự từ 1 đến 9. Em muốn cái lisp đó có một loạt lệnh là các số từ 1 đến 9 để chuyển sang các layer cùng. Nghĩa là lệnh "1" sẽ chuyển sang layer hiện hành là layer-1, lệnh "2" sang layer 2, ...(giống như lệnh "ai_molc" rồi click vào layer trong bản vẽ)

Em xin cám va mong sớm có lisp để dùng. Chúc cả nhà vui vẻ

bạn xem ở đây: đặt lệnh tắt cho các Layer bằng phím số bên trên

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

PP nhờ các Bác viết cho đoạn Lisp, chỉ cần select vào line Gas trong bản vẽ thí dụ (hoặc bất kỳ linetype nào) thì nó sẽ tự xoay 180 độ để có thể đọc được ký hiệu rò ràng mà không phải xoay bản vẽ. Xin cám ơn nhiều.

http://www.cadviet.com/upfiles/Up_size_down.zip

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
PP nhờ các Bác viết cho đoạn Lisp, chỉ cần select vào line Gas trong bản vẽ thí dụ (hoặc bất kỳ linetype nào) thì nó sẽ tự xoay 180 độ để có thể đọc được ký hiệu rò ràng mà không phải xoay bản vẽ. Xin cám ơn nhiều.

http://www.cadviet.com/upfiles/Up_size_down.zip

 

Lệnh là FL (flip line):

(defun c:fl()
 (setq ss (ssget '((0 . "LINE"))))
 (while (> (sslength ss) 0)
   (setq
     ent (ssname ss 0)
     tt (entget ent)
     d10  (assoc 10 tt)
     d11  (assoc 11 tt)
     tt (subst (cons 11 (cdr d10)) d11 tt)
     tt (subst (cons 10 (cdr d11)) d10 tt)
     ss (ssdel ent ss)      
   )
   (entmod tt)
 )
 (princ)
)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình sưu tầm một lisp tính diện tính tự động cho tất cả polyline kín, cực hay nhưng trong quá trình sử dụng có một số bất tiện, cần phải sửa lại nội dung lisp cho phù hợp nhưng mình không hiểu về lisp, nhờ các bạn nghiên cứu giúp.

mình đã có một bản vẽ gồm nhiều thửa đất được tạo bằng các polylines kín, trong mỗi thửa có point tâm thửa (file VD1)

http://www.cadviet.com/upfiles/VD1.dwg

Dùng lisp trên để tính và ghi diện tích tự động

Nếu thiết lập sẵn text height >0 thì kết quả diện tích các thửa đất đều có một giá trị là 0 (file VD2)

http://www.cadviet.com/upfiles/VD2.dwg

Do vậy, muốn tính, ghi diện tích đúng thì phải thiết lập text height =0 trước khi sử dụng lisp (file VD3)

http://www.cadviet.com/upfiles/VD3.dwg

Mình muốn sử dụng lisp này không cần khai báo chiều cao text trong quá trình sử dụng lisp, mà sử dụng chiều cao thiết lập sẵn trong text style

Về vị trí ghi text: đoạn lisp ghi text diện tích tại điểm pt nào đó mình không hiểu, nhưng nó không quan hệ gì với các point tâm thửa đã có. Mình muốn các text này ghi vào vị trí point tương ứng của mỗi thửa và J=TC (file VD4)

http://www.cadviet.com/upfiles/VD4.dwg

Và đây là đoạn lisp

 

(defun C:AREARON (/

allx

ally

areaobj

counter

ctr

el

entity-name

entnamevla

mysset

pt

tst

vertex

x

y

)

(vl-load-com)

(COMMAND "_.UNDO" "BE")

(set_var)

(if (tblsearch "Layer" "AREARON")

(command "._layer"

"_thaw"

"AREARON"

"_on"

"AREARON"

"_unlock"

"AREARON"

"_set"

"AREARON"

""

) ;_ closes command

(command "._layer"

"_make"

"AREARON"

"_color"

1

"AREARON"

""

) ;_ closes command

)

(if (null sch)

(setq sch 1.0)

)

(initget 6)

(setq temp (getreal (strcat "\nENTER SCALE <"

(rtos sch 2 2)

">: "

)

)

)

(if temp

(setq sch temp)

(setq temp sch)

)

 

(if (null precision)

(setq precision 1)

)

(initget 6)

(setq prec_temp (getint (strcat "\nHOW MANY DECIMAL PLACES?: <"

(rtos precision 2 2)

">: "

)

)

)

(if prec_temp

(setq precision prec_temp)

(setq prec_temp precision)

)

(prompt "\nSELECT CLOSED POLYLINES:> ")

(setq

mysset (ssget '((0 . "POLYLINE,LWPOLYLINE") (-4 . "&") (70 . 1)))

counter 0

)

(if mysset

(progn

(while (< counter (sslength mysset))

(setq allx 0

ally 0

ctr 0

tst 1

entity-name (ssname mysset counter)

EL (entget entity-name)

entnamevla (vlax-ename->vla-object entity-name)

areaobj (vla-get-area entnamevla)

)

(while (assoc 10 el)

(setq vertex (cdr (assoc 10 el))

ctr (+ ctr 1)

x (car vertex)

y (cadr vertex)

allx (+ allx x)

ally (+ ally y)

EL (cdr (member (assoc 10 el) el))

)

)

(setq x (/ allx ctr)

y (/ ally ctr)

pt (list x y)

)

(command "text" "j" "mc"

pt

(* sch 2.5)

"0"

(rtos areaobj 2 precision)

)

(setq counter (+ counter 1))

)

)

(alert "\nNO CLOSED POLYLINES/LWPOLYLINES IN YOUR SELECTION"

)

)

(reset_var)

(princ)

(COMMAND "_.UNDO" "END")

)

(princ)

 

 

(defun set_var ()

(setq oldlayer (getvar "clayer"))

(setq oldsnap (getvar "osmode"))

(setq temperr *error*)

(setq *error* traperror)

(setvar "osmode" 0)

(princ)

)

 

 

(defun traperror (errmsg)

(command nil nil nil)

(if (not (member errmsg '("console break" "Function Cancelled"))

)

(princ (strcat "\nError: " errmsg))

)

(setvar "clayer" oldlayer)

(setvar "osmode" oldsnap)

(princ "\nError Resetting Enviroment ")

(setq *error* temperr)

(princ)

)

 

 

 

(defun reset_var ()

(setq *error* temperr)

(setvar "clayer" oldlayer)

(setvar "osmode" oldsnap)

(princ)

)

 

---

Nhờ các bạn giúp mình, có thể nhiều người cần sử dụng lisp này. Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình đã sửa lại đoạn code trên để nó ghi text có kiểu TC và đúng với trường hợp textheight khác 0, nếu = 0 thì lisp hiện tại đã lấy SCALE*2.5 làm chiều cao text

(defun C:AREARON (/ allx ally areaobj counter ctr el entity-name entnamevla mysset pt tst vertex x y)
 (setvar "cmdecho" 0)
(vl-load-com)
(COMMAND "_.UNDO" "BE")
(set_var)
(if (tblsearch "Layer" "AREARON")
(command "._layer"
"_thaw"
"AREARON"
"_on"
"AREARON"
"_unlock"
"AREARON"
"_set"
"AREARON"
""
) ;_ closes command
(command "._layer"
"_make"
"AREARON"
"_color"
1
"AREARON"
""
) ;_ closes command
)
(if (null sch)
(setq sch 1.0)
)
(initget 6)
(setq	temp (getreal (strcat "\nENTER SCALE <"
(rtos sch 2 2)
">: "
)
)
)
(if temp
(setq sch temp)
(setq temp sch)
)

(if (null precision)
(setq precision 1)
)
(initget 6)
(setq	prec_temp (getint (strcat "\nHOW MANY DECIMAL PLACES?: <"
(rtos precision 2 2)
">: "
)
)
)
(if prec_temp
(setq precision prec_temp)
(setq prec_temp precision)
)
(prompt "\nSELECT CLOSED POLYLINES:> ")
(setq
mysset (ssget '((0 . "POLYLINE,LWPOLYLINE") (-4 . "&") (70 . 1)))
counter 0
)
(if mysset
(progn
(while (< counter (sslength mysset))
(setq allx	 0
ally	 0
ctr	 0
tst	 1
entity-name (ssname mysset counter)
EL	 (entget entity-name)
entnamevla (vlax-ename->vla-object entity-name)
areaobj	 (vla-get-area entnamevla)
)
(while (assoc 10 el)
(setq	vertex (cdr (assoc 10 el))
ctr (+ ctr 1)
x (car vertex)
y (cadr vertex)
allx (+ allx x)
ally (+ ally y)
EL (cdr (member (assoc 10 el) el))
)
)
(setq x	 (/ allx ctr)
y	 (/ ally ctr)
pt (list x y)
)
(utext pt (rtos areaobj 2 precision) "TC" (* sch 2.5) "0")
;(command "text" "j" "mc" pt (* sch 2.5) "0" (rtos areaobj 2 precision))
(setq counter (+ counter 1))
)
)
(alert "\nNO CLOSED POLYLINES/LWPOLYLINES IN YOUR SELECTION"
)
)
(reset_var)
(princ)
(COMMAND "_.UNDO" "END")
)
(princ)


(defun set_var ()
(setq oldlayer (getvar "clayer"))
(setq oldsnap (getvar "osmode"))
(setq temperr *error*)
(setq *error* traperror)
(setvar "osmode" 0)
(princ)
)


(defun traperror (errmsg)
(command nil nil nil)
(if (not (member errmsg '("console break" "Function Cancelled"))
)
(princ (strcat "\nError: " errmsg))
)
(setvar "clayer" oldlayer)
(setvar "osmode" oldsnap)
(princ "\nError Resetting Enviroment ")
(setq *error* temperr)
(princ)
)



(defun reset_var ()
(setq *error* temperr)
(setvar "clayer" oldlayer)
(setvar "osmode" oldsnap)
(princ)
)

(defun utext (pt text kieu cao goc)
 (if (/= (cdr(assoc 40 (tblsearch "style" (GETVAR "TEXTSTYLE")))) 0)
   (progn
     (if (/= kieu "")
(COMMAND "_.TEXT" "J" kieu pt goc text)
(COMMAND "_.TEXT" pt goc text)
)
     )
   (progn
     (if (/= kieu "")
(COMMAND "_.TEXT" "J" kieu pt cao goc text)
(COMMAND "_.TEXT" pt cao goc text)
)
     )
   )
 )

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Em định viết 1 đoạn lisp thực hiện lệnh dimlinear của cad nhưng gặp khó khăn mong được các bác giúp đỡ. Đoạn code em viết thử thì thấy hoạt động bình thường (giống như CAD) đối với các đối tượng đơn (LINE, ARC) nhưng nếu đối tượng chọn (LINE, ARC) là một segment trong 1 LWPOLYLINE thì đoạn code của em không giải quyết được (lệnh dimlinear của CAD thì vẫn giải quyết ngon lành), điều này làm em băn khoăn mà không hiểu tại sao. Em không có kiến thức sâu về xử lý ENTITY data nên loay hoay mãi không biết cách làm. Em mong các bác giúp đỡ. Thanks

 

(defun c:dx (/ pt1 pt2 obj)
 (setq pt1 (getpoint "\nFirst point or :"))
 (if (/= pt1 nil)
(progn (setq pt2 (getpoint pt1 "\nSecond point:"))
   (command "Dimlinear" pt1 pt2)
)
(progn (setq obj (entsel "\nSelect object:"))
   (command "Dimlinear" "" obj)
)
 )
 (princ)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình đã sửa lại đoạn code trên để nó ghi text có kiểu TC và đúng với trường hợp textheight khác 0, nếu = 0 thì lisp hiện tại đã lấy SCALE*2.5 làm chiều cao text

Cám ơn Bác Tien2005, nhờ Bác modify để không phải lặp lại như sau:

ENTER SCALE <1.00>:

HOW MANY DECIMAL PLACES?: <1.00>:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cám ơn Bác Tien2005, nhờ Bác modify để không phải lặp lại như sau:

ENTER SCALE <1.00>:

HOW MANY DECIMAL PLACES?: <1.00>:

 

Mình đã xem lại code trên, SCALE chỉ có tác dụng xác định chiều cao text chứ không có tác dụng trong tính diện tích.

 

Code sau đã được modify để không phải nhập tỉ lệ và lấy bao nhiêu số thập phân. Mặc định chiều cao text = 2.5 (nếu textheight = 0, nếu khác 0 sẽ lấy textheight làm chiều cao text) và lấy 1 số thập phân. Nếu muôn thay đổi các giá trị này Bạn chỉ cần thay đổi các giá trị được tô đậm sau: (utext pt (rtos areaobj 2 1) "TC" "2.5" "0")

(defun C:AREARON (/ allx ally areaobj counter ctr el entity-name entnamevla mysset pt tst vertex x y)
 (setvar "cmdecho" 0)
 (vl-load-com)
 (COMMAND "_.UNDO" "BE")
 (set_var)
 (if (tblsearch "Layer" "AREARON")
   (command "._layer"
     "_thaw"
     "AREARON"
     "_on"
     "AREARON"
     "_unlock"
     "AREARON"
     "_set"
     "AREARON"
     ""
     ) ;_ closes command

   (command "._layer"
     "_make"
     "AREARON"
     "_color"
     1
     "AREARON"
     ""
     ) ;_ closes command
   )

 (prompt "\nSELECT CLOSED POLYLINES: ")
 (setq mysset (ssget '((0 . "POLYLINE,LWPOLYLINE") (-4 . "&") (70 . 1)))
counter 0
)

 (if mysset
   (progn
     (while (< counter (sslength mysset))
(setq allx	 0
      ally	 0
      ctr	 0
      tst	 1
      entity-name (ssname mysset counter)
      EL	 (entget entity-name)
      entnamevla (vlax-ename->vla-object entity-name)
      areaobj	 (vla-get-area entnamevla)
      )
(while (assoc 10 el)
  (setq	vertex (cdr (assoc 10 el))
	ctr (+ ctr 1)
	x (car vertex)
	y (cadr vertex)
	allx (+ allx x)
	ally (+ ally y)
	EL (cdr (member (assoc 10 el) el))
	)
  )
(setq x	 (/ allx ctr)
      y	 (/ ally ctr)
      pt (list x y)
      )
(utext pt (rtos areaobj 2 1) "TC" "2.5" "0")
;(command "text" "j" "mc" pt (* sch 2.5) "0" (rtos areaobj 2 precision))
(setq counter (+ counter 1))
)
     )
   (alert "\nNO CLOSED POLYLINES/LWPOLYLINES IN YOUR SELECTION")
   )
 (reset_var)
 (princ)
 (COMMAND "_.UNDO" "END")
 )
(princ)


(defun set_var ()
 (setq oldlayer (getvar "clayer"))
 (setq oldsnap (getvar "osmode"))
 (setq temperr *error*)
 (setq *error* traperror)
 (setvar "osmode" 0)
 (princ)
 )


(defun traperror (errmsg)
 (command nil nil nil)
 (if (not (member errmsg '("console break" "Function Cancelled")))
   (princ (strcat "\nError: " errmsg))
   )
 (setvar "clayer" oldlayer)
 (setvar "osmode" oldsnap)
 (princ "\nError Resetting Enviroment ")
 (setq *error* temperr)
 (princ)
 )



(defun reset_var ()
 (setq *error* temperr)
 (setvar "clayer" oldlayer)
 (setvar "osmode" oldsnap)
 (princ)
 )

(defun utext (pt text kieu cao goc)
 (if (/= (cdr(assoc 40 (tblsearch "style" (GETVAR "TEXTSTYLE")))) 0)
   (progn
     (if (/= kieu "")
(COMMAND "_.TEXT" "J" kieu pt goc text)
(COMMAND "_.TEXT" pt goc text)
)
     )
   (progn
     (if (/= kieu "")
(COMMAND "_.TEXT" "J" kieu pt cao goc text)
(COMMAND "_.TEXT" pt cao goc text)
)
     )
   )
 )

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình đã xem lại code trên, SCALE chỉ có tác dụng xác định chiều cao text chứ không có tác dụng trong tính diện tích.

Cám ơn Bác Tien2005, Nhưng còn lướng vướng vị trí ghi text, mình muốn nó ghi tại point tâm thửa đã có í, Các Bạn giúp luôn đi

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cám ơn Bác Tien2005, Nhưng còn lướng vướng vị trí ghi text, mình muốn nó ghi tại point tâm thửa đã có í, Các Bạn giúp luôn đi

 

Thật ra lisp trên đã ghi text tại vị trí gần trọng tâm của thửa rồi. File cuả Bạn có được chắc là do 1 phần mềm nào đó xuất ra và các điểm mà Bạn thấy trên hình không phải là trọng tâm của thửa

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thật ra lisp trên đã ghi text tại vị trí gần trọng tâm của thửa rồi. File cuả Bạn có được chắc là do 1 phần mềm nào đó xuất ra và các điểm mà Bạn thấy trên hình không phải là trọng tâm của thửa

Đúng rồi bạn. point này tạo ra trong quá trình tạo topo, point này luôn "nằm gọn" trong thửa, còn tâm thửa như bạn nêu (vị trí ghi text diện tích của chương trình) có một số trường hợp nằm ngoài thửa, chẳng hạn thửa đất có hình chữ U, diện tích ghi ngoài thửa đất như file dưới, dễ nhầm lẫn sang thửa khác

http://www.cadviet.com/upfiles/VD5.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Để tạo linetype như bạn yêu cầu thì cad có sẳn lệnh trong phần Express rồi đó bạn. Lệnh là MKLTYPE . bạn tìm trong diển đàn mình có bài hướng dẩn dùng lệnh này rất kỷ rồi đó.

Cảm ơn bạn duy782006 đã quan tâm, nhưng mình tìm mãi mà không thấy, nếu có bạn có thể post cho mình được không. Cảm ơn bạn nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Em định viết 1 đoạn lisp thực hiện lệnh dimlinear của cad nhưng gặp khó khăn mong được các bác giúp đỡ. Đoạn code em viết thử thì thấy hoạt động bình thường (giống như CAD) đối với các đối tượng đơn (LINE, ARC) nhưng nếu đối tượng chọn (LINE, ARC) là một segment trong 1 LWPOLYLINE thì đoạn code của em không giải quyết được (lệnh dimlinear của CAD thì vẫn giải quyết ngon lành), điều này làm em băn khoăn mà không hiểu tại sao. Em không có kiến thức sâu về xử lý ENTITY data nên loay hoay mãi không biết cách làm. Em mong các bác giúp đỡ. Thanks

 

(defun c:dx (/ pt1 pt2 obj)
 (setq pt1 (getpoint "\nFirst point or :"))
 (if (/= pt1 nil)
(progn (setq pt2 (getpoint pt1 "\nSecond point:"))
   (command "Dimlinear" pt1 pt2)
)
(progn (setq obj (entsel "\nSelect object:"))
   (command "Dimlinear" "" obj)
)
 )
 (princ)
)

 

Các bác làm ơn cho em hỏi AutLISP có hàm nào cho phép truy cập vào danh sách con (subentity) của đối tượng LWPOLYLINE không ạ? em thử dùng hàm nentsel thay cho hàm entsel nhưng cũng không giải quyết được. (Không hiểu bằng cách nào mà lệnh dimlinear gốc của CAD lại giải quyết vấn đề này đơn giản thế nhi?)

Mong các bác giúp đỡ.

Em xin cảm ơn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác nào giúp em lisp này với!

Em có một đường line A (hoặc đường bất kì) cắt qua nhiều đường B khác, yêu cầu của em là:

- Gõ lệnh: chat

- Chọn đường line A là đối tượng làm dao cắt như lệnh trim

- Chọn phần cần chặt của đường B. Nhưng phần cần chặt không biến mất như lệnh trim mà nó chỉ bị tách ra làm đối tượng khác tại điểm giao cắt của đường A và B

Tại diển đàn em đã dùng thử lệnh BRK nhưng lệnh này ta đôi khi gây khó khăn cho em. Em mong bác nào rảnh giúp em cái nha. Thanks!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chào bác Nguyễn Hoành! Em mới phát hiện ra diễn đàn này và cảm thấy nó thật là bổ ích. Em là dân cơ khí và cũng dùng CAD khá thường xuyên. Tuy nhiên, em cũng chưa biết nhiều về Autolip. Em có một câu hỏi thế này muốn nhờ bác giúp. Em muốn bác lập giúp em một lisp có nội dung như sau :

Giả sử trong bản vẽ của em có những dòng text ( có thể là chữ hoặc số). Khi chạy lisp, Cad sẽ hởi ta muốn chèn thêm ký tự gì vào phía trước các dòng text. Ta có thể nhập ký tự mà mình muốn thêm vào. Tiếp theo, Cad sẽ hỏi: Chọn các đối tượng cần chèn thêm ký tự. Ta chọn đối tượng và enter kết thúc lệnh. Sau khi kết thúc lệnh, ở các dòng text trong bản vẽ sẽ được chèn thêm những ký tự đã được nhập vào kia.

Xin cảm ơn bác trước. Mong bác bớt chút thời gian giúp đỡ. Em thật sự đang rất cần lisp này.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào bác Nguyễn Hoành! Em mới phát hiện ra diễn đàn này và cảm thấy nó thật là bổ ích. Em là dân cơ khí và cũng dùng CAD khá thường xuyên. Tuy nhiên, em cũng chưa biết nhiều về Autolip. Em có một câu hỏi thế này muốn nhờ bác giúp. Em muốn bác lập giúp em một lisp có nội dung như sau :

Giả sử trong bản vẽ của em có những dòng text ( có thể là chữ hoặc số). Khi chạy lisp, Cad sẽ hởi ta muốn chèn thêm ký tự gì vào phía trước các dòng text. Ta có thể nhập ký tự mà mình muốn thêm vào. Tiếp theo, Cad sẽ hỏi: Chọn các đối tượng cần chèn thêm ký tự. Ta chọn đối tượng và enter kết thúc lệnh. Sau khi kết thúc lệnh, ở các dòng text trong bản vẽ sẽ được chèn thêm những ký tự đã được nhập vào kia.

Xin cảm ơn bác trước. Mong bác bớt chút thời gian giúp đỡ. Em thật sự đang rất cần lisp này.

Bạn dùng lệnh TCHU trong bộ ACV ở đây: http://www.cadviet.com/forum/index.php?showtopic=3825

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn dùng lệnh TCHU trong bộ ACV ở đây: http://www.cadviet.com/forum/index.php?showtopic=3825

 

 

Rất cảm ơn bác Hoành đã giúp đỡ. Em rất cảm động vì sự hiếu nghĩa này. Còn nhiều điều muốn học hỏi, nhưng em sẽ hỏi ý kiến của bác sau. Một lần nữa xin được cảm ơn bác.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các anh ơi ! Cho em hỏi 1 chút a ? Em đang là sinh viên chưa ra trường thấy mọi người trên diễn đàn trao đổi rất nhiều về Lisp. Vậy Lisp là gì ạ ? cách sử dụng nó như thế nào ạ ? Cám ơn các anh rất nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Các anh ơi ! Cho em hỏi 1 chút a ? Em đang là sinh viên chưa ra trường thấy mọi người trên diễn đàn trao đổi rất nhiều về Lisp. Vậy Lisp là gì ạ ? cách sử dụng nó như thế nào ạ ? Cám ơn các anh rất nhiều

thế thì em vào đây:

http://www.cadviet.com/forum/index.php?showtopic=80

Chúc em học giỏi, trong đó có lisp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×