duyhung
-
Số lượng nội dung
87 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi duyhung
-
-
Cảm ơn bạn ketxu lisp dùng ổn rồi! Hj đọc lisp của bạn mà chưa rõ được mô tê j cả chỉ biết dùng thôi.
À tiện đây cho mình hỏi muốn lấy giá trị số trong text or mtext thì phải viết ntn? Mình viết 1 chút lisp cho mình như này:
(defun c:cali ()
(setvar "CMDECHO" 0)
(setq csdl (list 1 2 3 4 6 10 16 20 25 32 40 50 63 80 100 125 160 200 250 300 400 500 630 800 1000 1250))
(setq s (getreal "\nCho cong suat cua lo dien (kw): "))
(setq cosfi (getreal "\nCho cosfi cua lo dien (kw): "))
(setq i (/ s (* 1.732 0.38 cosfi)))
(setq a i)
(setq j 0)
(setq ds nil)
(while (setq x (nth j csdl))
(if
(and (> (- x a) 0) (< (- x a) 20))
(setq ds (append (list x)))
)
(setq j (1+ j))
)
(princ "\n Dong dien tinh toan cua lo: ")
(princ (fix i))
(princ "A")
(princ "\n AT tinh toan cua lo: ")
(setq kq (car ds))
(princ kq)
(princ "A")
(princ)
)
Mình muốn thay vì nhập công suất ta có thể lấy giá trị của text có sẵn để đưa vào tính toán (là các con số), bạn có thể gỡ bí này cho mình được không?
-
Chào buổi sáng cả nhà.
Đây là file kết quả mà đã dùng 2 lisp trên nhưng vẫn còn 2 đối tượng là block có hatch và text trong block att là chưa chuyển sang màu 8.
Vấn đề block hình như mình tìm ra được nhưng block att thì chưa, :)
Mọi người test thử nhé
-
Mình chưa thấy trong code có đoạn nào làm ảnh hưởng đến Text TV.Code của người khác nên đọc hơi rối ^^ Hay bạn thử qua bên này dùng thử cái này, rồi có gì mình fix tiếp theo ý bạn ^^
Thanks bạn ketxu 2 lisp kết hợp gần như hoàn hảo
Mỗi tội còn vấn đề trong block thì vẫn chưa chuyển sang màu 8. text trong block att và các hatch trong block cũng chưa chuyển.
-
Lisp chuyển tất cả các đối tượng trong bản vẽ 1 màu là lisp colorx.
Điều mình thắc mắc là khi nó chuyển thì tất cả các text có chữ tiếng việt đều bị lỗi phông.
http://www.cadviet.com/forum/index.php?showtopic=27683
Có khắc phục được lỗi này không vậy các bác.
-
Giao diện đẹp nhưng tốc độ xử lý chưa nhanh bác ah.
Cám ơn bác.
-
Em thì mong mùng 8-3 có chính quyền để lật đổ nè các bác.
Hj mùng 8-3 nè lại đi nhậu và đánh đtử :((
Ôi sống độc thân là sướng hay khổ nhỉ :rolleyes:
-
VBplot 2010
trong Lập trình khác
Điểm 1 và 2 là giới hạn vùng chọn để in. Tức là như thế này.
Bạn có 10 bản vẽ chẳng hạn. Đầu tiên chương trình yêu cấu bạn chọn khung điển hình thì bạn chọn vào khung tên bất kì (có thể là block hoặc rectang) sau đó chương trình yêu cầu chọn diểm 1 và điểm 2 thì bạn chọn sao cho vùng chọn bao chùm những khung cần in. Chương trình sẽ tự đọng lọc nhữnh khung tên mà bạn chọn trong vùng chọn đó và hiển thị số bản in trên giao diện chương trình.
Cái này đòi fai cài netframework phải không bác :-/
-
VBplot 2010
trong Lập trình khác
Chọn điểm 1 và 2 là thế nào thế hả bác Tú.
Em chọn mãi mà không được, thanks bác nhiều!
-
Vâng, đúng là offset, vì e quên mất là vẽ như Mline ^^. Copy thì lại vất vả với chọn đối tượng copy.Hề.
Side offset chọn luôn trong thao tác input lệnh Offset Current layer bác ạ.
Cảm ơn mọi người nhiều! :lol:
-
layMuốn giúp quá mà không hiểu ý bạn ^^
Ý mình chỉ muốn vẽ 1 lệnh giống như mline ý, nhưng một đường sẽ thuộc layer hiện tại và 1 đường thuộc layer depoint. :P
-
Mình muốn viết 1 lisp đơn giản đó là vẽ 2 đường poline theo một khoảng cách duy nhất do mình nhập vd = 200, nhưng 1 đường poline thuộc layer và màu của layer hiện thời, còn poline còn lại mặc định thuộc layer depoint và màu là màu mặc định or màu là màu 8.
Khi bắt đầu lệnh thì sẽ vẽ dọc theo đường poline mặc định thuộc layer depoint.
Thanks mọi người đã quan tâm.
-
a vuvuzela quả là cao thủ, khâm phục khâm phục !!!
Có ai làm thiết kế điện mà làm cái liveshow như này thì ngon kem hok nhỉ? Hj :rolleyes:
-
Ok hj thanks các bạn nhé!
-
^^Mình thấy có lisp xo ngày xưa của bác nguyenhoanh nhưng chỉ áp dụng với block att bình thường,còn nó bị block thì hok được!
-
Á, topic đã bị quên lãng lâu óa, nay bạn duyhung post vào mới thấy nó nổi lênSau tin này là bạn foudremars bỏ mình bơ vơ ngồi ôm mộng luôn, hok thèm reply chỉ nghề nữa :) Chắc giận
--> Bạn đã thử dùng code bác Tuệ viết bên trên chưa? và lỗi ra răng ?
Code này mình dùng thấy oki khi các text bình thường xong với block att là cao độ của các thiết bị thì nó hỏng có xoay và làm việc! ^^! :)
-
Bạn edit trực tiếp trong block edit (bedit), thấy cái nào ưng thì để, cái nào ghét thì xóa, còn ít quá thì tạo thêm, sau đó lưu block lại thôi :)OH bạn ketxu ơi mình đã edit như thế nhưng những cái mình del thì khi save thì nó vẫn hiện lên, đôi khi cái del và cái mình tạo nó hiện trùng lên nhau thế nên mình mới rất thắc mắc.
Có những text field mình del nhưng save block thì nó vẫn hiện các thuộc tính để mình đưa giá trị vào trog khi kiểm tra trong block thì không có.
Thế nên mình thường fai copy sang 1 file mới và explode nó rồi tạo lại block.
Hj không biết trường hợp của mình có phải riêng lẻ không!
-
Lisp xoay or mirror này hữu dụng mà chưa dùng được triệt để hả các bác! Mọi người thử sửa lisp này hộ mình với!
-
Cho mình hỏi trong block khung tên có cách nào del 1 text field trong đó mà sau khi save thì nó không hiện ra.
Tương tự mình có thể thêm 1 text field vào trong block att mà khi save block đó nó sẽ hiện ra.
Bình thường mình nguyên phải explode ra và block lại.
Cảm ơn mọi người đã quan tâm. :)
-
Bạn vào option vao profile reset lại xem có được không?
-
Cám ơn 02 bạn hatieu và duy782006,Để mình giải thích rõ hơn về nhu cầu của minh :
Giả sử bây giờ mình có 100 cái block tên lần lượt là : Cua phong 001, Cua phong 002................................ Cua phong 100
Nếu dùng lệnh Rename để sửa thành : Cua ve sinh 001, Cua ve sinh 002.......................... Cua ve sinh 100
Thì mình phải lập đi lập lại động tác trên 100 lần, rất mất thời gian. Còn nếu dùng lệnh -REN kết hợp với wild-card characters thì CAD lại không nhận diện được các block đó.
Mình đã thử cũng nhiều phương pháp rồi, cũng đã tham khảo trên mạng, nhưng chưa giải quyết được vấn đề.
Ý mình là nếu như mình chọn các block có tên "*Cua phong*" rồi nhập tên mới là "*Cua ve sinh*" thì tất cả các block có tên chứa "Cua phong" sẽ thay đổi hàng loạt thành "Cua ve sinh"
Thanks nhiều.
Thử dùng kết hợp filter or quick select được ko bạn?
-
Nhờ ae sửa hộ mình một chút cái lisp này:
- Cái lisp này là bố trí block theo yêu cầu của mình với điều kiện khoảng cách 2 block = 2 lần khoảng cách từ block tới cạnh của HCN.
- Mình muốn sửa một chút là vẫn nhập các điểm của HCN, số block theo trục x, số block theo trục y nhưng với điều kiện hơi khác một chút đó là khoảng cách 2 block theo trục x= 1200x số block theo trục x, còn khoảng cách 2 block theo trục y= 600x số block theo trục y.
;; free lisp from cadviet.com (defun c:dd () (batdau) (command "undo" "be") (setq oldos (getvar "osmode")) (command "osnap" "End,Mid,Cen,Node,Quad,Int,Ins,Perp,Tan,Near,App,Int,Ext,Par") (setq bd (car (entsel "\nChon block can chen: "))) (while (= bd nil) (setq bd (car (entsel "\nChon block can chen: "))) ) (setq boun (acet-ent-geomextents bd) tam (polar (car boun) (angle (car boun) (cadr boun)) (/ (distance (car boun) (cadr boun)) 2)) ) (setq p1 (getpoint "\nChon diem thu nhat: ") p2 (getcorner p1 "\nChon diem thu hai: ") vx (abs (- (car p1) (car p2))) vy (abs (- (cadr p1) (cadr p2))) ix (getint "\nSo block theo truc x: ") iy (getint "\nSo block theo truc y: ") dix (/ vx (* ix 2)) diy (/ vy (* iy 2)) ) (if (< (angle p1 p2) (/ pi 2)) (setq pc (list (+ (car p1) dix) (+ (cadr p1) diy) 0)) ) (if (and (< (angle p1 p2) pi) (> (angle p1 p2) (/ pi 2))) (progn (setq p1 (list (car p2) (cadr p1) 0)) (setq pc (list (+ (car p1) dix) (+ (cadr p1) diy) 0)) ) ) (if (and (< (angle p1 p2) (/ (* pi 3) 2)) (> (angle p1 p2) pi)) (setq pc (list (+ (car p2) dix) (+ (cadr p2) diy) 0)) ) (if (and (< (angle p1 p2) (* pi 2)) (> (angle p1 p2) (/ (* pi 3) 2))) (progn (setq p1 (list (car p1) (cadr p2) 0)) (setq pc (list (+ (car p1) dix) (+ (cadr p1) diy) 0)) ) ) (setq sspoi (ssadd)) (command "copy" bd "" tam pc) (repeat (1- ix) (setq poi (entlast)) (setq sspoi (ssadd poi sspoi)) (command "copy" poi "" pc (strcat "@" (rtos (* dix 2) 2 3) ",0") ) ) (setq sspoi (ssadd (entlast) sspoi)) (setq y 0) (repeat (1- iy) (setq y (+ y (* diy 2))) (command "copy" sspoi "" pc (strcat "@0," (rtos y 2 3)) ) ) (setvar "osmode" oldos) (ketthuc) ) (defun batdau () (command "undo" "be") (setvar "cmdecho" 0) (setq old_er *error* *error* myerror ) ) (defun myerror (errmsg) (ketthuc) (command "undo" "") ) (defun ketthuc () (setq *error* old_er) (setvar "cmdecho" 1) (command "undo" "e") )
Và đây là file cad mình muốn
-
Ah ý mình là có thể select các bản vẽ mà không in hết cả, vd in một bản xem thử rồi in hết các bản khác! Or giống như word,excel thì có thể select bản vẽ nào muốn in vd 1,3,5,7... !Theo mình thêm chức năng select các bản vẽ cần in nữa là tuyệt! :undecided:
-
Có thể lựa chọn các file mình muốn in thì còn tốt hơn nữa.
-
chuyển chữ thành số
trong AutoLisp
Hay nhỉ ngày xưa mình cũng được nhận được 1 bài viết lưu bút nguyên chữ, nếu cấp 3 mà biết cad và lisp thì khả năng ko bị lãng phí 1 e thương thầm trộm nhớ ! :undecided:
Cho mình hỏi về lisp này với !
trong AutoLisp
Đã đăng · Trả lời báo cáo
Cảm ơn bạn ketxu, mình đã chọn được đối tượng text rồi. Cái vòng lặp này mình cũng đang rối tại vì làm việc với string này tạo list mình chưa quen, mà giải thuật của mình cũng chưa ổn lắm.Hj để mình mò tiếp vậy có j thắc mắc sẽ thọ giáo bạn sau.
Thanks and G9 ^^!