Chuyển đến nội dung
Diễn đàn CADViet
Nguyen Hoanh

Viết Lisp theo yêu cầu

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

Cảm ơn bạn vì một yêu cầu rất mạch lạc, dưới đây là lisp của bạn:

...

 

Lệnh XD sẽ yêu cầu bạn:

- pick vào 1 điểm thuộc mặt tiền nhà,

- sau đó yêu cầu bạn pick vào phía có ghi chữ (ngược lại phía với ống),

- sau đó nhập B và D (theo đơn vị m).

 

Khi bạn nhập xong, Chương trình sẽ cho bạn:

- Text B, D

- Point điểm tọa độ.

 

Từ đây bạn phải vẽ đường ống bằng cách nối line từ point đến point một cách thủ công. Nếu bạn lười, hãy dùng lisp JP (Joint Point) đã có trên diễn đàn (bạn hãy search nhé) để joint các point lại với nhau.

Thành thật cám ơn Bác Nguyen Hoanh đã viết giúp cho PP LISP trên.

Sáng nay ở cty, PP đã chuyển qua file, dùng AutoCad 2006 để sử dụng thử qua thì thấy LISP Bác viết đã đáp ứng được yêu cầu. Vì không đăng nhập vào forum lúc đó để nói lời cảm tạ Bác được do lổi kỷ thuật nào đó, tối nay vê nhà cũng không vào được nên đành đăng ký nick mới với email mới.

Nhớ lại sáng nay mới chỉ xài sơ qua, PP thấy lúc vẽ bên phía tay trái lề đường, text mB/mD bị chồng lên line boundary, PP phải dùng lệnh Move để dời lại text.

Ngoài ra Bác có cách nào để khỏi nối line từ point đến point một cách thủ công or dùng lệnh Joint Point (PP chưa search ra nhưng chằc cũng sẽ tìm được)

Nếu như ban đầu dùng lệnh Line> pick 1 điểm gần đúng> pick điểm 2 bằng Nearest snap trên line boundary> nhập khoảng cách> ta có ngay line đường ống Gas cách điểm 2 như đã input, sao đó nhập thêm text mD là xong. Rồi tiếp tục vẽ đến hết giờ tan ca...

Tối nay định dùng PC ở nhà thực tập lại, nhưng lại bị báo lỗi như sau:

Command: _appload XD.lsp successfully loaded.

Command:

Command: XD

Hay pick mot diem thuoc mat tien nha:

Hay pick huong dat chu: 2000

mB (m): 2

mD (m): 1

; error: no function definition: VLAX-CURVE-GETCLOSESTPOINTTO

Command:

PP xin được nói rõ thêm:

+ Cty xài AutoCAD 2006, còn ở nhà là 2008

+ File LISP làm ở cty không save đem về nhà, tối này mới down và làm lại (PP post lại, nhờ Bác check giúp)

http://www.cadviet.com/upfiles/XD.lsp

Thật ra LISP Bác viết tặng như trên là PP rất happy lắm rồi. Nếu Bác không ngại thì PP xin được phép liên lạc với Bác qua email sau. Đây là email của PP: TranH@pbworld.com

Your help is greatly appreciated.

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ối nay định dùng PC ở nhà thực tập lại, nhưng lại bị báo lỗi như sau:

Command: _appload XD.lsp successfully loaded.

Command:

Command: XD

Hay pick mot diem thuoc mat tien nha:

Hay pick huong dat chu: 2000

mB (m): 2

mD (m): 1

; error: no function definition: VLAX-CURVE-GETCLOSESTPOINTTO

Xin 'hồi đáp' từng vấn đề của bạn như sau:

- Về text bị lệnh, đây cũng là một kinh nghiệm, do bạn chỉ upload file có text 1 bên, nên tôi cũng chỉ test có một bên. Nếu bạn muốn cải tiến, hãy upload 1 file có đầy đủ text ở hai bên.

- Về khỏi nối point một cách thủ công thì ngoài JP ra tôi chưa tìm được cách nào khác.

- Về lỗi no function definition là bất ngờ với tôi, vì thường các acad > 2000 mới đều có hàm VLAX-CURVE-GETCLOSESTPOINTTO. bạn thử thêm vào cuối file lisp mã lệnh (vl-load-com) xem có cải thiện được không, nếu vẫn không được thì đành bó tay.

- Về email riêng, tôi rất muốn mọi thứ được trao đổi trên diễn đàn, vì 2 lý do: nhiều người khác nữa giống bạn sẽ không phải viết lại yêu cầu mà dùng luôn file lisp của bạn, nhiều người khác nữa giống tôi sẽ giúp được bạn tốt hơn tôi đã giúp bạ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
Xin 'hồi đáp' từng vấn đề của bạn như sau:

- Về text bị lệnh, đây cũng là một kinh nghiệm, do bạn chỉ upload file có text 1 bên, nên tôi cũng chỉ test có một bên. Nếu bạn muốn cải tiến, hãy upload 1 file có đầy đủ text ở hai bên.

- Về khỏi nối point một cách thủ công thì ngoài JP ra tôi chưa tìm được cách nào khác.

- Về lỗi no function definition là bất ngờ với tôi, vì thường các acad > 2000 mới đều có hàm VLAX-CURVE-GETCLOSESTPOINTTO. bạn thử thêm vào cuối file lisp mã lệnh (vl-load-com) xem có cải thiện được không, nếu vẫn không được thì đành bó tay.

- Về email riêng, tôi rất muốn mọi thứ được trao đổi trên diễn đàn, vì 2 lý do: nhiều người khác nữa giống bạn sẽ không phải viết lại yêu cầu mà dùng luôn file lisp của bạn, nhiều người khác nữa giống tôi sẽ giúp được bạn tốt hơn tôi đã giúp bạn.

 

Đây là 1 bản vẽ cũ, làm rất thủ công.

http://www.cadviet.com/upfiles/Ban_ve_duon...old_file__1.zip

Cách đã vẽ như sau:

+ Vẽ 1 line = khoảng cách

+ Vẽ đường ống gas = cách nối các end point lại

+ Insert block B-D rồi đặt text mB/mD

Trong bài trước #1044, PP có post hình vẽ đ/ô 2 bên đường.

Việc xin email riêng là chỉ dùng để làm quen, trao đổi những việc khác thôi Bác Hoành ạ.

Cám ơn Bác nhiều 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
Theo tôi thì muốn đưa 1 lệnh lisp vào 1 lisp khác thì cần cải tạo 1 chút như sau:

Nguyên bản

(Defun C:vtn ( )

 

;;;;;;;;;;;;;;;Sửa lại

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

(Defun LENHVTN ( )

;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;

(Defun C:vtn ( )

(LENHVTN))

;;;;;;;;;;;;;;;

lúc này bạn đem cái (LENHVTN) để vào lisp muốn lồng là được

Làm theo cách này cũng tạm được, nhưng lisp trong Express rất lớn, copy qua sửa lại rất phức tạp. Không biết có ai có cách nào khác không?

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
Làm theo cách này cũng tạm được, nhưng lisp trong Express rất lớn, copy qua sửa lại rất phức tạp. Không biết có ai có cách nào khác không?

 

Ví dụ tôi có file Can dong text deu nhau.VLX ở ổ C -> đường dẫn file là "C:/Can dong text deu nhau.VLX" với lệnh chạy lisp này là DDT chẳng hạn.

Tôi muốn chạy file này ( tức chạy lệnh DDT) trong một file lisp khác ( lệnh của lisp này chẳng hạn là VD) tôi phải có dòng lệnh như sau:

(defun C:VD ()
  (vl-load-all "C:/Can dong text deu nhau.VLX") -> load lisp với lệnh DDT.
  (C:DDT)                                                   -> giống như đánh lệnh DDT trên command
)

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 Nacata, tôi đã làm được rồi.

Như vậy tôi sẽ hoàn thiện 1 Lisp vẽ mặt cắt ngang, (dọc) cắt qua một bình đồ với các đường contuor là "LWPOLYLINE" có độ cao. Trước đây, tôi phải làm thành 2 lisp, trong đó có lệnh "overkill" là lệnh trung gian giữa 2 lisp này. Tôi sẽ gửi lisp "matcat.lsp" lên diễn đàn sau khi hoàn thành.

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 các Mems, Tôi muốn có một đoạn lisp mà biến nhiều đoạn pline thành đúng một pline duy nhất.

 

Mong được giúp đỡ.

 

Thanks

 

Mình cũng đã tìm đến đoạn lisp của SSG, nhưng hình như nó không đúng ý mình (đã chạy thử)

 

 

;;;***********************************************************
;;;CONVERT TO PLINES PROGRAM WITH FULL COMMENTS!
;;;Convert all objects: Line, Pline, Spline, Arc, Circle, Ellipse_
;;;to Plines. Length of 1 segment is specified by user
;;;Copy & Paste to Notepad, Saveas *.lsp, Appload then Type C2P to run
;;;Happy New Year 2008!
;;;Written by ssg - January 2008 - www.cadviet.com
;;;***********************************************************

;;;-------------------------------------------------------------
(defun makepl ( e d1 / ps pe d d2 p2);;;Make pline along curve e. Length of 1 segment = d1
(vl-load-com);;;Load Visual LISP extensions before use vlax-xxxx functions
(setq
ps (vlax-curve-getStartPoint e);;;Start point
pe (vlax-curve-getEndPoint e);;;End point
d (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e));;;Length of curve e
d2 d1;;;Init variable distance
)
(command "pline");;;Call pline command
(command ps);;;Start point
(while (<= d2 d);;;While not over end point pe
(setq p2 (vlax-curve-getPointAtDist e d2));;;Variable point at d2 = length along curve
(command p2);;;Continue pline command from current point to p2
(setq d2 (+ d2 d1));;;Increase distance d2 by d1
);;;End while
(command pe "");;;Pline to pe and finish command
)
;;;-------------------------------------------------------------
(defun C:C2P( / d1 ss oldos i e ans);;;Convert to Plines
(if (not d0) (setq d0 0.5));;;Init dividual distance, global variable
(setq d1 (getreal (strcat "\nLength of 1 segment <" (rtos d0) ">:")));;;Input distance
(if d1 (setq d0 d1) (setq d1 d0));;;Reset or get distance
(setq
ss (ssget '((0 . "LINE,LWPOLYLINE,SPLINE,ARC,CIRCLE,ELLIPSE")));;;Selection set
oldos (getvar "osmode");;;Save osmode
i 0;;;Init counter
)
(setvar "osmode" 0);;;Disable osmode
(repeat (sslength ss);;;Repeat for all entities in ss
(setq e (ssname ss i));;;Set e for entity with ordinal i in selection set ss
(makepl e d1);;;Use makepl function. Make pline along e
(setq i (1+ i));;;Increase counter
)
(initget "Y N");;;Init keywords
(setq ans (getkword "\nDelete source objects? [Yes/No] :"));;;Get answer from user
(if (= ans "Y") (command "erase" ss ""));;;Erase source objects if ans = "y" or "Y"
(setvar "osmode" oldos);;;Reset osmode
(princ);;;Silent quit
)
;;;-------------------------------------------------------------

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 các Mems, Tôi muốn có một đoạn lisp mà biến nhiều đoạn pline thành đúng một pline duy nhất.

Lisp trên có công dụng khác: convert các đối tượng khác (như liệt kê) thành pline.

Lisp theo ý diễn tả của bạn là đây:

 

(defun C:JPL(/ ss e)
(setq
ss (ssget '((0 . "LWPOLYLINE")))
e (ssname ss 0)
)
(if e (command "pedit" e "j" "all" "" ""))
)

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
Đây là 1 bản vẽ cũ, làm rất thủ công.

http://www.cadviet.com/upfiles/Ban_ve_duon...old_file__1.zip

Cách đã vẽ như sau:

+ Vẽ 1 line = khoảng cách

+ Vẽ đường ống gas = cách nối các end point lại

+ Insert block B-D rồi đặt text mB/mD

Trong bài trước #1044, PP có post hình vẽ đ/ô 2 bên đường.

Việc xin email riêng là chỉ dùng để làm quen, trao đổi những việc khác thôi Bác Hoành ạ.

Cám ơn Bác nhiều lắm.

file lisp dưới đây đã cải tiến, sẽ dùng được với cả hai bên, với điều kiện là bạn phải dùng block "B-D" mà tôi đã move text vào tâm.

file dwg có chứa block "B-D" đã sửa đổi: http://www.cadviet.com/upfiles/bvdo.zip

(defun c:xd ()
 (setq sel (entsel "\nHay pick mot diem thuoc mat tien nha: "))
 (if (or (not sel)
  (/= "LINE" (cdr (assoc 0 (entget (car sel)))))
     )
   (alert
     "Ban chon khong dung\nHay pick vao mot doi tuong LINE"
   )
   (progn
     (setq
ent    (car sel)
p1     (cdr (assoc 10 (entget ent)))
phuong (trans (getpoint (cadr sel) "\nHay pick huong dat chu: ")
	      1
	      0
       )
B_     (getreal "\mB (m): ")
D_     (getstring "\mD (m): ")
p      (vlax-curve-getClosestPointTo ent (trans (cadr sel) 1 0))

     )
     (saveos)
     (changegeo p p1 phuong)
     (setq pI_	   (trans (list 0.0 4300.0 0.0) 1 0)
    pPoint (trans (list 0.0 (* -1000.0 B_) 0.0) 1 0)
     )
     (restoregeo)
     (command ".insert"
       "B-D"
       (trans pI_ 0 1)
       1.0
       1.0
       0.0
       (strcat (rtos B_ 2 1) "B")
       (strcat D_ "D")
     )
     (cpoint pPoint)
     (restoreos)
   )
 )
)
(defun cPoint (p)
 (entmake (list
     (cons 0 "POINT")
     (cons 10 p)
   )
 )
)
(defun saveos ()
 (setq cv_oldos (getvar "osmode"))
 (setvar "osmode" 0)
)
(defun restoreos ()
 (setvar "osmode" cv_oldos)
 (setq cv_oldos nil)
)
(defun changegeo (p p1 phuong)
 (command ".ucs" "w")
 (command ".ucs" "3" p p1 phuong)
)
(defun restoregeo ()
 (command ".ucs" "p")
 (command ".ucs" "p")
)

 

email của tôi là: nguyenhoanh@cadviet.com

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 các anh. Em đang cần 1lish có nội dung như sau:

Trên bản vẽ có các Block với những tỷ lệ scale khác nhau

Dùng lish nhập tỷ lệ. Toàn bộ các block sẽ đưa từ tỷ lệ ban đầu, về tỷ lệ vừ nhập

VD.

Em có 2 block. A đã scale 0.5 so với Block gốc. B đã scale 0.2 so với Block gốc

Sd lish. Chọn đối tg cần tác động. Nhập. 0.75 Block A ->có tỷ lệ 0.75 so với Block gốc, B -> có tỷ lệ 0.75 so với Block gốc.

Thanks các 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
Chào các anh. Em đang cần 1lish có nội dung như sau:

Trên bản vẽ có các Block với những tỷ lệ scale khác nhau

Dùng lish nhập tỷ lệ. Toàn bộ các block sẽ đưa từ tỷ lệ ban đầu, về tỷ lệ vừ nhập

VD.

Em có 2 block. A đã scale 0.5 so với Block gốc. B đã scale 0.2 so với Block gốc

Sd lish. Chọn đối tg cần tác động. Nhập. 0.75 Block A ->có tỷ lệ 0.75 so với Block gốc, B -> có tỷ lệ 0.75 so với Block gốc.

Thanks các rất nhiều

Bạn dùng lệnh SBTD, chọn các block rồi nhập vào tỷ lệ 1.

(defun c:sbtd()
 (defun s1(ent)
   (setq tt (entget ent)
  ctl (cdr (assoc 41 tt))
  ctl (abs (/ tl ctl))
  p (cdr (assoc 10 tt))
   )
   (command ".scale" ent "" p ctl)
 )  
 (setq ss (ssget '((0 . "INSERT")))
tl (getreal "\nTy le: "))
 (luuos)
 (setvar "osmode" 0)
 (sudung s1 ss)
 (traos)  
)
(defun luuos ()
 (setq
   HOANH_OSMODE   (getvar "OSMODE")
   HOANH_AUTOSNAP (getvar "AUTOSNAP")
 )
)
(defun traos ()
 (if HOANH_OSMODE
   (setvar "OSMODE" HOANH_OSMODE)
 )
 (if HOANH_AUTOSNAP
   (setvar "AUTOSNAP" HOANH_AUTOSNAP)
 )
)

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
file lisp dưới đây đã cải tiến, sẽ dùng được với cả hai bên, với điều kiện là bạn phải dùng block "B-D" mà tôi đã move text vào tâm.

file dwg có chứa block "B-D" đã sửa đổi: http://www.cadviet.com/upfiles/bvdo.zip

Cám ơn Bác Nguyen Hoanh rất nhiều.

+ Khi dùng AutoCAD 2008 & 2009 thì phải thêm (vl-load-com), nếu không sẽ bị báo lỗi như đã nêu trong bài trước.

+ Cái Block B-D cần phải sửa lại thì mới in đúng scale trong model.

PP sẽ search LISP JP rồi sẽ thực tập lại.

Good night 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
file lisp dưới đây đã cải tiến, sẽ dùng được với cả hai bên, với điều kiện là bạn phải dùng block "B-D" mà tôi đã move text vào tâm.

file dwg có chứa block "B-D" đã sửa đổi: http://www.cadviet.com/upfiles/bvdo.zip

PP nghỉ rằng nếu Bác Viết thêm đoạn LISP dùng lệnh Line để bắt điểm vừa có này rối chỉ chọn điểm cuối của đ/ô đã vẽ trước đó. Như vậy chắc sẽ không cần đến LISP Joint Point (PP chưa tìm ra).

Thật tình là PP chưa biết viết cái ngôn ngữ LISP (Lost In Stupid Spaces) này bao giờ :lol: . Mong Bác thông cảm về đề nghị 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 nghỉ rằng nếu Bác Viết thêm đoạn LISP dùng lệnh Line để bắt điểm vừa có này rối chỉ chọn điểm cuối của đ/ô đã vẽ trước đó. Như vậy chắc sẽ không cần đến LISP Joint Point (PP chưa tìm ra).

Thật tình là PP chưa biết viết cái ngôn ngữ LISP (Lost In Stupid Spaces) này bao giờ :lol: . Mong Bác thông cảm về đề nghị trên

OK,

Đây là lisp đã cải tiến, bạn thử xem có đúng ý không:

(defun c:xd ()
 (setq sel (entsel "\nHay pick mot diem thuoc mat tien nha: "))
 (if (or (not sel)
  (/= "LINE" (cdr (assoc 0 (entget (car sel)))))
     )
   (alert
     "Ban chon khong dung\nHay pick vao mot doi tuong LINE"
   )
   (progn
     (setq
ent    (car sel)
p1     (cdr (assoc 10 (entget ent)))
phuong (trans (getpoint (cadr sel) "\nHay pick huong dat chu: ")
	      1
	      0
       )
B_     (getreal "\mB (m): ")
D_     (getstring "\mD (m): ")
p      (vlax-curve-getClosestPointTo ent (trans (cadr sel) 1 0))

     )
     (saveos)
     (changegeo p p1 phuong)
     (setq pI_	   (trans (list 0.0 4300.0 0.0) 1 0)
    pPoint (trans (list 0.0 (* -1000.0 B_) 0.0) 1 0)
     )
     (restoregeo)
     (command ".insert"
       "B-D"
       (trans pI_ 0 1)
       1.0
       1.0
       0.0
       (strcat (rtos B_ 2 1) "B")
       (strcat D_ "D")
     )
     (if xdlast
       (command ".line" xdlast pPoint "")
     )
     (setq xdlast pPoint)
     (restoreos)
   )
 )
)
(defun saveos ()
 (setq cv_oldos (getvar "osmode"))
 (setvar "osmode" 0)
)
(defun restoreos ()
 (setvar "osmode" cv_oldos)
 (setq cv_oldos nil)
)
(defun changegeo (p p1 phuong)
 (command ".ucs" "w")
 (command ".ucs" "3" p p1 phuong)
)
(defun restoregeo ()
 (command ".ucs" "p")
 (command ".ucs" "p")
)

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
OK,

Đây là lisp đã cải tiến, bạn thử xem có đúng ý không:

Thật tuyệt vời Bác Nguyen Hoanh ạ.

Như PP có đề cập trong bài truớc, nếu sử dụng lại input khoảng cách mm rồi chia cho 1000 thì sẽ chỉ cần nhậpt text mD thôi.

Như vậy sẽ tiết kiệm rất nhiều lần nhập mB. Nhờ Bác thêm lần nữa.

Cám ơn Bác 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

Không biết có bác nào giúp cho cái này được không? Làm 1 file lisp để vẽ 1 sơ đồ dàn cong. Biết nhịp vuợt L, biết độ vồng f, biết số khoảng chia bụng dàn.....?

 

vom.bmp

 

Cảm ơn 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

Thưa các anh em, em là mem mới, nhưng xài cad khá lâu rồi...mang tiếng xài cad khá lâu mà không tự viết nổi 1 cái lisp cho mình, nên post lên đây nhờ anh NguyenHoanh viết giúp em cái lisp với những lệnh sau, em xin đội ơn lắm lắm

 

q1 là lệnh offset kích thước 55

q2 là...........................110

q3 là...........................220

q4 là...........................50

q5 là...........................100

 

 

:) thanks pro nhiều lắm 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
Không biết có bác nào giúp cho cái này được không? Làm 1 file lisp để vẽ 1 sơ đồ dàn cong. Biết nhịp vuợt L, biết độ vồng f, biết số khoảng chia bụng dàn.....?

 

vom.bmp

 

Cảm ơn rất nhiều....

Chưa đủ dữ liệu. Đường cong độ vồng là đường cong bậc mấ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
Thưa các anh em, em là mem mới, nhưng xài cad khá lâu rồi...mang tiếng xài cad khá lâu mà không tự viết nổi 1 cái lisp cho mình, nên post lên đây nhờ anh NguyenHoanh viết giúp em cái lisp với những lệnh sau, em xin đội ơn lắm lắm

 

q1 là lệnh offset kích thước 55

q2 là...........................110

q3 là...........................220

q4 là...........................50

q5 là...........................100

 

 

:) thanks pro nhiều lắm lắm :)

Bạn xem lisp của bạn quocdung_acad ở đây:

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

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ưa các anh em, em là mem mới, nhưng xài cad khá lâu rồi...mang tiếng xài cad khá lâu mà không tự viết nổi 1 cái lisp cho mình, nên post lên đây nhờ anh NguyenHoanh viết giúp em cái lisp với những lệnh sau, em xin đội ơn lắm lắm

 

q1 là lệnh offset kích thước 55

q2 là...........................110

q3 là...........................220

q4 là...........................50

q5 là...........................100

 

 

:) thanks pro nhiều lắm lắm :)

đây:

(defun C:q1 ()
(command "offset" "55")
)
(defun C:q2 ()
(command "offset" "110")
)
(defun C:q3 ()
(command "offset" "220")
)
(defun C:q4 ()
(command "offset" "50")
)
(defun C:q5 ()
(command "offset" "100")
)

Ồ vừa post xong thì thấy bác NguyenHoanh post.

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ông biết có bác nào giúp cho cái này được không? Làm 1 file lisp để vẽ 1 sơ đồ dàn cong. Biết nhịp vuợt L, biết độ vồng f, biết số khoảng chia bụng dàn.....?

 

vom.bmp

 

Cảm ơn rất nhiều....

Dễ vẽ, vẽ nhanh, vậy mà cũng cần lisp sao bạ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

thanks mọi người nhiều lắm, nhưng mà em có 1 thắc mắc, ban đầu em add lisp của mọi người vào rồi dùng lệnh Reinit thì có tác dụng, mãi đến 1 lúc sau add 1 đống lisp rồi thfi lệnh Reinit ko có tác dụng nữa, giúp em vớ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

thanks mọi người nhiều lắm, nhưng mà em có 1 thắc mắc, ban đầu em add lisp của mọi người vào rồi dùng lệnh Reinit thì có tác dụng, mãi đến 1 lúc sau add 1 đống lisp rồi thfi lệnh Reinit ko có tác dụng nữa, giúp em vớ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
thanks mọi người nhiều lắm, nhưng mà em có 1 thắc mắc, ban đầu em add lisp của mọi người vào rồi dùng lệnh Reinit thì có tác dụng, mãi đến 1 lúc sau add 1 đống lisp rồi thfi lệnh Reinit ko có tác dụng nữa, giúp em với :)

Ồ. Lệnh Reinit chỉ giúp cập nhật file acad.pgp thui mà, đâu có tác dụng với file 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.

×