hoquangvinh
-
Số lượng nội dung
215 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
3
Bài đăng được đăng bởi hoquangvinh
-
-
cái này chắc chắn làm được bạn ạ
link hướng dẫn đây
http://hoavienkientrucpro.blogspot.com/2014/12/huong-dan-lam-block-dynamic-bien.html
-
Bạn thích code hay là thích thuật toán ?
mình thích tất nhưng mình chưa biết về lisp nhiều chỉ mới biết đến tên lệnh thôi nên chỉ cần code thôi bạn à
nếu có cho mình xin với nhé
thanks bạn
-
mình đã sử dụng qua một số lisp ( xóa đối tượng trong, ngoài đường bao khép kín có trên diễn đàn nhứ erc.lsp của bạn thiep, ewb.lsp của bạn Gia Bach, xoa.lsp của bạn kangkung )
mình thấy các list đó chỉ mới xét đến yếu tố đối tượng dính or ko dính đường bao, chứ chưa xét đến tọa độ của đối tượng nằm trong hay ngoài đường bao.
giờ mình muốn xóa các text có tọa độ nằm trong or nằm ngoài đường bao khép kin thì làm thế nào ạh?
các bạn giúp mình vấn đề này với.
bạn có lisp erc.lsp của bạn thiep, ewb.lsp của bạn Gia Bach thì cho mình xin với
mình chỉ có lisp của bạn KangKung thôi còn 2 cái kia: cái thì link die, cái thì lỗi nhưng ko khắc phục được
thanks
-
cho mình hỏi nếu sau khi sử dụng lệnh group xong muốn đối tượng rời rạc trở lại thi làm cách nào ạ
làm ngược lại một lần nữa
Ctrl + Shift + A
-
Bạn liên hệ với mình qua mail mình sẽ gửi cho mấy bản vẽ bố trí gt trong các nút!
Thân!
bạn gửi cho mình tham khảo với nhé
mail của mình: hoquangvinhtvtk@gmail.com
cảm ơn
-
bạn dùng lệnh overkill thử xem nhé
-
đúng rồi topic cái này là tính khối lượng còn lisp trên mới là xuất kl
lisp xkl có cải tiến gì thêm ko bạn nhỉ, mình thích cái chương trình exel của bạn ko kém lisp đâu
-
cái này có phải là lisp xkl đợt trước bạn xây dựng phải ko nhỉ
lúc đó mình cũng có chạy thử nhưng chưa đc như video mẫu vì một số diện tích đầu vào chưa đúng
nếu được cho mình xin với nhé
thanks
-
bạn cho mình xin key với, đợt trước mình dùng rồi nhưng mới ghost lại máy nên mất
lisp in được bên layout thì ko nói rồi còn ở model thì in được cả block thuộc tính, các lisp khác bị lỗi cái block này
ko có cái này mình in trắc ngang to tay luôn
serial của mình: 1501E4 047D94 68784
cảm ơn bạn
-
em đã thử tất cả các cách mà các anh hướng dẫn mà vẫn k sử được text trong file xref
có ai có cách nào không giúp e với
mình ko làm theo cách của các bài phía trên nhưng vẫn thấy dùng bình thường na
1. đầu tiên mình xref khung tên bình thường (không chưa đối tượng ATT nhé)
2. lập đối tượng ATT các vị trí tương ứng ở khung tên xref
3. block khung tên với đối tượng xref + ATT
sau đó chi cần copy block đã tạo đến file nào cũng đc 1 block vừa có xref vừa có thuộc tính
-
Có update rồi cho mình test với: 1501E4 047D94 68784
-
Tìm cách filer lọc chọn nguyên lấy các đối tượng text cần quan tâm. Rồi vào property (ctrl+1) tìm mục content paste cái d32a200 vào đó thì tất cả các text sẽ có cùng 1 nội dung mon muốn mà ko cần lisp. Thân!
lisp này mình có dùng cho nhiều trường hợp nữa chứ ko phải chỉ thay 1 giá trị bằng giá trị khác (cái này tất nhiên cad cũng làm được nhưng lisp nó tiện hơn thôi)
vì thế nên mình cần đánh dấu các giá trị text thay đổi
-
dùng cách Find and Replace không khả thi, và co bất cập, vì như vậy chỉ thay thế tất cả các ký tự "10" thành "32a150"
===> chưa giải quyết được vấn đề.
Nếu bản vẽ của bạn chỉ có 1 loại thép 10-32a150, bạn có thể ẩn hết các đương kích thước đi, rồi copy text theo lệnh TC
(defun copy-add-text-content (mode / err oer sta res sel mtx dim chc chg hig sor rdw dec temp sou data) ; (defun err(s) (if (and (/= s "Function cancelled")(/= s "quit / exit abort")) (princ (strcat "\n--->> Error: " s)) ) (res) ) ; (defun res() (if hig (setvar "HighLight" hig)) (if sor (setvar "Sortents" sor)) (if pst (setvar "Pickstyle" pst)) (if rdw (chc 0)) (command "_.Undo" "_End") (setq *error* oer) (setvar "Cmdecho" 1) (princ) ) ; (defun sta() (setq oer *error* *error* err hig (getvar "HighLight") sor (getvar "Sortents") pst (getvar "Pickstyle") dec (getvar "Dimdec") ) (setvar "Cmdecho" 0) (command "_.Undo" "_Group") (setvar "HighLight" 1) (setvar "Sortents" 1) (setvar "Pickstyle" 0) (graphscr) ) ; (defun sel(/ loop lis typ intro) (if (null del-mode)(setq del-mode "0")) (if (null mat-mode)(setq mat-mode "0")) (setq loop T lis '("TEXT" "MTEXT" "DIMENSION" "ARCALIGNEDTEXT") ) (if (= mode 0) (setq intro "\nSelect copy source text ") (setq intro "\nSelect additon source text ") ) (while loop (initget "Exit Delete Match MD DM") ;(setq del T);;; (setq sou (entsel (strcat intro "[Delete source("del-mode")/Match properties("mat-mode")]: "))) (cond ((= sou "Exit")(exit)) ((null sou)(exit)) ((= sou "Delete") (if (= del-mode "0") (setq del-mode "1") (setq del-mode "0") ) ) ((= sou "Match") (if (= mat-mode "0") (setq mat-mode "1") (setq mat-mode "0") ) ) ((or (= sou "MD")(= sou "DM")) (progn (if (= del-mode "0") (setq del-mode "1") (setq del-mode "0") ) (if (= mat-mode "0") (setq mat-mode "1") (setq mat-mode "0") ) ) ) ((progn (setq data (entget (car sou)) typ (cdr (assoc 0 data)) ) (if (not (member typ lis)) (princ "Invalid selection.") (progn (setq temp (assoc 1 data) loop nil ) (cond ((= typ "MTEXT")(mtx)) ((= typ "DIMENSION")(dim)) ) ) ); if end )) ); cond end ) (chc 1) (setq rdw T) ) ; (defun mtx(/ con test) (setq con (cdr temp) test (substr con 1 1) ) (if (= test "\\")(setq temp (cons 1 (substr con 5)))) ) ; (defun dim(/ con) (setq con (cdr temp)) (if (or (= con "")(= con "<>")) (setq temp (cons 1 (rtos (cdr (assoc 42 data)) 2 dec))) ) ) ; (defun chc(mode / col) (cond ((and (= del-mode "1") (= mat-mode "0"))(setq col "230")) ((and (= del-mode "0") (= mat-mode "1"))(setq col "110")) ((and (= del-mode "1") (= mat-mode "1"))(setq col "30")) ((setq col "140")) ) (if (= mode 0) (progn (command "_.Chprop" sou "" "_Color" "BYLAYER" "") (redraw (car sou) 4) ) (progn (command "_.Chprop" sou "" "_Color" col "") (redraw (car sou) 3) ) ) ) ; (defun chg(/ ss inc data-) (if (= mode 0) (princ "\nSelect destiantion texts to change: ") (princ "\nSelect destiantion texts to add: ") ) (setq ss (ssget '((-4 . "<OR") (0 . "TEXT")(0 . "MTEXT")(0 . "DIMENSION")(0 . "ARCALIGNEDTEXT") (-4 . "OR>") ))) (if (null ss)(exit)) (setq inc 0) (repeat (sslength ss) (setq data- (entget (ssname ss inc)) inc (1+ inc)) (if (= mode 1) (setq temp (cons 1 (strcat (cdr (assoc 1 data-)) "x" (cdr temp)))) ) (entmod (subst temp (assoc 1 data-) data-)) ) (if (= mat-mode "1") (progn (if rdw (chc 0)) (command "_.MatchProp" sou ss "") ) ) (if (= del-mode "1") (progn (entdel (car sou)) (setq rdw nil) ) ) ) ; (sta) (sel) (chg) (res) ) (defun c:TC()(copy-add-text-content 0)) (defun c:TD()(copy-add-text-content 1)) (princ)lisp này dùng tốt rồi nhưng nếu muốn đổi màu các đối tuợng đã thay đổi giá trị thì làm sao nhỉ
nhờ các bạn giúp đỡ với
-
bạn vào đường link đó, có thứ bạn cần. lisp đó mình cũng đang dùng, rất tiện và hay
he hôm trước có vào link rồi nhưng chưa xem cái lisp cuối bài
giờ mới check lại thì kết quả cũng đúng với yêu cầu của mình nhưng cũng thiếu phần đổi màu
Ps: cũng đã vote cho bạn nhé
-
sao mình đến mục chọn máy in Pdf factory pro thì lập tức bảng điều khiên biến mất nhỉ? :(
mình cũng bị lỗi này
hình như nó chỉ nhận mỗi cái máy in đầu tiên thôi, sau khi chọn máy in đó rồi đổi sang máy khác là out luôn
-
mình lười dùng lisp quá
thế bạn có lisp này ko vậy, cho mình xin luôn
đối với block thông thường thì dùng lisp này ok
nhưng block của mình có cả thuộc tính có cả động luôn nên ko dùng đc
-
Mình đã viết 1 cái rồi nhưng chưa nhớ link, post lại cho bạn. Có thể dùng cho cả Anon Block
;| Change Anonymous Block to normal with new Name@ Ketxu 27 - 9 - 2011|;(defun c:nb( / blkObj blkName blkNew_Name fn pt)(vl-load-com)(defun ST:SS->List-Vla (ss / n e l) (setq n (sslength ss)) (while (setq e (ssname ss (setq n (1- n))))(setq l (cons (vlax-ename->vla-object e) l)) ))(defun change_block(old new)(foreach blkObj (setq ss (ST:SS->List-Vla (ssget (list (cons 0 "INSERT")(cons 2 old)))))(vla-put-name blkObj new);;change the name(vla-update blkObj)))(grtext -1 "Free Lisp From Cadviet @Ketxu")(setvar "cmdecho" 0)(setqblkObj (vlax-ename->vla-object (car(entsel "\nBlock Source :")))blkName (vlax-get-property blkObj (if (vlax-property-available-p blkObj 'EffectiveName) 'EffectiveName 'Name) ) blkNew_Name (getstring "\n New Name :") fn (strcat (getenv "TEMP") "\\" blkNew_Name ".dwg"))(command ".-wblock" fn "_Y" blkName "") (command "._insert" (strcat blkNew_Name "=" fn) nil )(if (wcmatch "`*" (substr blkName 1 1))(setq blkName (strcat "`*" (substr blkName 2))))(change_block blkName blkNew_Name)(vl-file-delete fn))
mình có dùng cái này rồi
đối với block thường thì rất ok nhưng đối với block thuộc tính thì ko dùng được
mong bác ketxu xem xét chỉnh sửa giúp với
-
Update nhỏ: Chọn Pline, đánh dấu vùng đã in.
Demo: https://drive.google.com/open?id=0B2LetfHDljPGMWJfNEh1RE93ZWM
thanks bạn nhé
-
mình có file : Củ Chi + vài H. Bình Dương
mình cũng đang cần huyện Củ chi
nếu bạn có share cho mình với
Thanks
-
Các anh cho em hỏi cách loại bỏ nét thừa 2 đầu hình vẽ như thế nào ạ.
Em muốn bắt đầu và kết thúc là ô vuông ạ.
Chân thành cảm ơn các anh :)
-------------------------------------------------------------------------------------------

cái này mình nghĩ là khó rồi
cái line type ấy nó có các đoạn giống nhau như tập hợp nhiều block vậy
muốn cả đầu và cuối đều là ô vuông thì chiều dài nó phải bằng n x block + ô vuông
mình trước hay dùng theo cách kéo dài hoặc rút ngắn 1 tý để 2 đầu như nhau
-
đúng rồi text của mình khi test đó ko phải là by layer
bạn @quocmanh04tt cho mình xin cái ID trong tin nhắn với
-
Thanks mọi người
Bạn quocmanh04tt chỉ đúng rồi mình đã làm đc
Cách của bạn Jangkobo thì ko đúng ý mình rồi: mình cần copy giá trị 1 text qua text khác chứ ko phải thay thế toàn bộ giá trị text vì mình có nhiều giá trị khác nhau
-
mình chạy rồi mà vẫn ko đc bạn ơi
-
Ko biết paste dòng này vào có cần thêm () ở các dòng nào khác nữa ko mà mình vẫn chưa thấy đổi màu
Dòng lệnh trên số 1 ở cuối có phải là màu mình muốn đổi ko nhỉ
Lisp In Nhiều Bản Vẽ (Kể Cả Layout)
trong AutoLisp
Đã đăng · Trả lời báo cáo
nếu được cho mình xin với
thanks
id của mình: 1673B2 6299AF 0302