Đến nội dung


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

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#2541 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 14 November 2010 - 10:27 AM

Của bạn đây. Cám ơn bạn vì lisp này cũng rất hay.


;; free lisp from cadviet.com

;=======================================================

;VE MAT CAT SAN
(defun c:Mcs (/ A1 A2 A3 A4 A5 A6 A7 AA AA1 AM4 B2 B3 B4 B5 B6 B66 B67 B7 BB
BB11 BB12 BX BX1 C1 C2 C3 C4 C5 C6 CC CL1 DD1 DDAM DDT DY DY1 G1
G10 G11 G12 G2 G7 G8 G9 GG7 GG8 J1 J10 J11 J12 J13 J14 J2 J3 J4
J5 J6 J7 J8 J9 JJ1 JJ2 K12 K19 KC KC1 LX LX1 LXY1 LY LY1 MM MM1
MM2 N10 N11 N12 N13 N14 N15 N16 N17 N18 N19 N7 N8 N9 NBC OD OU OV
P1 P10 P67 P9 Q1 Q2 Q3 TDD TDD1 TIEP TONG TT1 TTR1 TTR2 TTR3 U1 U2 U3 V1 XG YG)
(taolayer)
(SETQ NBC (GETVAR "CLAYER"))
(setvar "osmode" 1)
(setq tiep "C")
(setq tong 0)
(setq ddam 350)
(setq dy1 (getreal (strcat "Chieu cao dam < " (itoa ddam) " >: ")))
(if (null dy1) (setq dy1 ddam))
(setq ou 20)
(setq od 100)
(setq ov 200)
(initget 6)
(setq kc1 (getreal (strcat "\nkhoang bao ve (mm) <" (itoa ou) ">: ")))
(if (null kc1) (setq kc1 ou))
(setq dy (* dy1 5))
(setq kc (* kc1 4))
(while (= tiep "C")
(setvar "cmdecho" 0)
(setvar "osmode" 15359)
(setq BB (getpoint "Diem chen :"))
(setvar "osmode" 0)
(setq xg (car BB))
(setq yg (cadr BB))
(initget 6)
(setq Ly1 (getreal (strcat "\nChieu day ban (mm) <" (itoa od) ">: ")))
(if (null Ly1) (setq Ly1 od))
(setq Lxy1 (getreal "Chieu dai nhip(m) :"))
(setq Lx1 (* Lxy1 1000))
(setq Bx1 (getreal "Chieu dai thep am (mm):"))
(setq tdd1 (getreal (strcat "\nKhoang cach cac thanh thep (mm) <" (itoa ov) ">: ")))
(if (null tdd1) (setq tdd1 ov))
(SETQ TTR1 200)
(setq TTR2 (RTOS TTR1 2 0))
(setq Tt1 (RTOS TDD1 2 0))
(setq dd1 (STRCAT "a"TT1""))
(setq ddT (STRCAT "a"TTR2""))
(setq Lx (* Lx1 4))
(setq tong (+ tong Lx))
(setq Ly (* Ly1 5))
(setq Bx (* Bx1 4))
(setq tdd (* tdd1 4))
(setq TTR3 (* TTR1 4))
(setq B2 (list xg (+ yg Ly)))
(setq B3 (list xg (+ (- yg dy) Ly)))
(setq B4 (polar B3 0 880))
(setq B5 (polar BB 0 880))
(setq B6 (polar BB 0 Lx))
(setq B66 (polar B6 (* Pi 1.5) (- dy Ly)))
(setq B67 (polar B66 0 440))
(setq B7 (polar B2 0 (+ Lx 440)))
(setq p1 (/ Bx TTR3))
(setq g1 (fix p1))
(setq g2 (- g1 1))
(setq v1 (/ (- Lx 880) tdd))
(setq u1 (fix v1))
(setq u2 (+ u1 1))
(setq u3 (- (/ (- Lx (* u1 tdd)) 2) 440))
(setq A1 (list (+ xg 440) (+ yg kc)))
(setq A2 (list (+ xg 440) (- (cadr B2) kc)))
(setq A3 (polar A2 0 Bx))
(setq A4 (polar A1 0 Bx))
(setq Am4 (polar A4 (* Pi 1.5) kc))
(setq A5 (list (- (car A3) 50) (- (cadr A3) 50)))
(setq J5 A5)
(setq A7 (list (+ (+ (car A1) 440) u3) (+ (cadr A1) 50)))
(setq N7 (polar A7 0 tdd))
(setq N8 (polar N7 0 tdd))
(setq N9 (list (+ (car N7) (* 0.5 tdd)) (- (cadr n7) (+ 900 (* 1.5 KC)))))
(setq N10 (polar N9 0 900))
(setq N11 (polar N10 0 250))
(setq N12 (list (+ (car N9) 450) (+ (cadr N9) 220)))
(setq K12 (polar N12 (* Pi 1.5) 440))
(setq N13 (list (+ (car a7) (* tdd 6.5)) (cadr a1)))
(setq N14 (polar N13 (* Pi 1.25) kc))
(setq N15 (polar N13 (* Pi 0.25) kc))
(setq N16 (polar N13 (* Pi 1.5) (+ 900 kc)))
(setq N17 (polar N16 0 900))
(setq N18 (polar N17 0 250))
(setq N19 (list (+ (car N16) 450) (+ (cadr N16) 220)))
(setq K19 (polar N19 (* Pi 1.5) 440))
(command "osmode" 0 "")
(setvar "CLAYER" "8")
(command ".line" N7 N9 N8 "")
(command ".line" N10 N9 "")
(command ".line" N14 N15 "")
(command ".line" N13 N16 N17 "")
(setvar "CLAYER" "3")
(command ".text" "mc" N12 "250" "0" "/G10" "")
(command ".text" "mc" N19 "250" "0" "/g10" "")
(command ".text" "mc" K12 "250" "0" DD1 "")
(command ".text" "mc" K19 "250" "0" DD1 "")
(setq A6 (polar A1 0 Lx))
(setq AA1 (polar A3 (* 1.5 Pi) Ly))
(setq AA (polar A2 (* 0.5 Pi) 1500))
(setq C1 (polar B3 0 440))
(setq C3 (polar C1 0 Lx))
(setq C5 (polar C1 (* 1.5 Pi) 800))
(setq C2 (polar C5 0 (/ Lx 2)))
(setq C6 (polar C5 (* 1.5 Pi) 100))
(setq C4 (polar C6 (* 1.5 Pi) 350))
(setq CC (polar C2 (* 0.5 Pi) 250))
(command "osmode" 0 "")
(setvar "CLAYER" "3")
(command "donut" "0" kc A5 A7"")
(repeat g2
(setq A5 (polar A5 Pi TTR3))
(command "donut" "0" kc A5 "")
)
(setq mm (ssget "W" A2 AA1))
(setq J6 (polar J5 Pi TTR3))
(setq J4 (polar A3 Pi (* TTR3 1.5)))
(setq jj1 (polar j4 (* Pi 1.25) kc))
(setq jj2 (polar j4 (* Pi 0.25) kc))
(setvar "CLAYER" "8")
(command ".line" JJ1 JJ2 "")
(setq J7 (polar J6 0 (* TTR3 0.5)))
(setq J8 (polar J7 (* 0.5 Pi) 800))
(setq J3 (polar J4 (* 0.5 Pi) 800))
(setq J2 (polar J3 Pi 900))
(setq J9 (polar J8 0 900))
(setq J10 (polar J9 0 250))
(setq J1 (polar J2 Pi 250))
(command ".line" J5 J8 J6 "")
(command ".line" J8 J9 "")
(command ".line" J4 J3 J2 "")
(command ".circle" J1 "d" 500)
(setq cl1 (entlast))
(setq J11 (list (+ (car J2) 450) (+ (cadr J2) 220)))
(setq J12 (polar J11 (* Pi 1.5) 440))
(setq J13 (list (+ (car J8) 450) (+ (cadr J8) 220)))
(setq J14 (polar J13 (* Pi 1.5) 440))
(setvar "CLAYER" "3")
(command ".text" "mc" J11 "250" "0" "/G10" "")
(command ".text" "mc" J13 "250" "0" "%%c6" "")
(command ".text" "mc" J12 "250" "0" DDT "")
(command ".text" "mc" J14 "250" "0" "a200" "")
(command "-ATTDEF" "" "+" "1" "1" "j" "mc" J1 "250" "")
(if (= (tblsearch "block" "ghithep") nil)
(command "block" "ghithep" J1 (entlast) cl1 "")
)
(if (/= (tblsearch "block" "ghithep") nil)
(command "block" "ghithep" "y" J1 (entlast) cl1 "")
)
(repeat u1
(setq A7 (polar A7 0 tdd))
(command "donut" "0" kc A7 "")
)
(setvar "CLAYER" "7")
(command ".line" BB B3 B4 B5 B6 "")
(command ".line" B2 B7 "")
(command ".line" B6 B66 B67 "")
(command ".line" C5 C6 "")
(setvar "CLAYER" "4")
(command ".pline" A2 A3 Am4 "")
(setq mm1 (ssget "L"))
(command ".line" A1 A6 "")
(setvar "CLAYER" "100")
(command ".DIMLINEAR" C1 C3 C2)
(setq BB11 (polar BB (* 1 Pi) 500))
(setq BB12 (polar BB11 (* 1 Pi) 700))
(setvar "CLAYER" "20")
(command ".DIMLINEAR" BB B2 BB11)
(command ".DIMLINEAR" B3 B2 BB12)
(setvar "CLAYER" "100")
(command ".DIMLINEAR" A2 A3 AA)
(setq mm2 (ssget "L"))
(chenblock N11 1 1)
(chenblock N18 1 1)
(chenblock J1 "1" "1")
(chenblock J10 "1" "1")
(chenblock C4 "1.4" "1.4")
(command ".select" mm mm1 mm2 "")
(command ".mirror" "p" "" C2 CC "")
(initget 1 "C K")
(setq tiep (strcase (getkword "Lam tiep cau kien khac [1©/2(K)] :")))
)
(setq g7 (polar B67 (* Pi 0) 440))
(setq g8 (polar g7 (* Pi 0.5) dy))
(setq g9 (polar g8 (* Pi 1) 440))
(setq g10 (polar g9 (* Pi 1.5) kc))
(setq j10 (polar g9 (* Pi 1.5) (- Ly kc)))
(setq g11 (polar g10 (* Pi 0) 360))
(setq g12 (polar g11 (* Pi 1.5) (- Ly kc)))
(setq p67 (polar b67 (* 1.5 Pi) 800))
(setq p9 (polar p67 (* 1.5 Pi) 100))
(setq p10 (polar p9 (* 1.5 Pi) 350))
(setq j11 (polar j10 0 300))
(setq j12 (polar j11 (* 0.5 Pi) 100))
(setq j13 (polar j12 Pi 90))
(chenblock p10 "1.4" "1.4")
(setvar "CLAYER" "4")
(command "pline" j13 j12 "a" "a" -180 j11 "l" j10 "")
(setq Q1 (ssget "L"))
(command "pline" g10 g11 g12 "")
(setq Q2 (ssget "L"))
(setvar "CLAYER" "7")
(command ".line" B67 g7 "")
(command ".line" g8 g9 "")
(command ".line" g8 g7 "")
(setq gG7 (polar G7 Pi (/ (+ tong 880) 2)))
(setq gG8 (polar G8 Pi (/ (+ tong 880) 2)))
(setq Q3 (ssget "L"))
(command ".line" p9 p67 "")
(command ".select" Q1 Q2 Q3 "")
(command ".mirror" "p" "" GG7 GG8 "")
(setvar "osmode" 691)
(SETVAR "CLAYER" NBC)
)
(defun taolayer ()
(if (= (tblsearch "layer" "3") nil) (command "layer" "n" "3" ""))
(if (= (tblsearch "layer" "4") nil) (command "layer" "n" "4" ""))
(if (= (tblsearch "layer" "7") nil) (command "layer" "n" "7" ""))
(if (= (tblsearch "layer" "8") nil) (command "layer" "n" "8" ""))
(if (= (tblsearch "layer" "20") nil) (command "layer" "n" "20" ""))
(if (= (tblsearch "layer" "100") nil) (command "layer" "n" "100" ""))
)
(defun chenblock ( dcb x y /)
(command "-insert" "ghithep" dcb x y "" "")
)

Bác giải thích giùm e trong đoạn code này chỗ nào gán đường kính của các chấm tròn thép và khoảng cách từ tâm chấm tròn này đến thanh thép phía dưới.Và tạo cho các vòng tròn là block ATT.Thanks
  • 0

#2542 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

  • Members
  • PipPip
  • 73 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 14 November 2010 - 03:37 PM

Các bác nào có Lisp chuyển PL Sang SPL . Cám ơn các bác nhiều(.em tìm mà ko thấy.)
  • 0

#2543 VUVUZELA

VUVUZELA

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 97 (tàm tạm)

Đã gửi 14 November 2010 - 03:45 PM

Các bác nào có Lisp chuyển PL Sang SPL . Cám ơn các bác nhiều(.em tìm mà ko thấy.)


Cái này dễ mà
chọn dt
dùng lệnh Pedit chuyển qua SPL
  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#2544 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 14 November 2010 - 05:19 PM

Cái này dễ mà
chọn dt
dùng lệnh Pedit chuyển qua SPL

Việc vẽ 1 Spline bằng lệnh SPL qua các đỉnh của 1 pline hoàn toàn khác với việc Convert 1 pline sang Spline bằng lệnh PEdit, hàm số biểu diễn 2 đuờng này là khác nhau
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#2545 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

  • Members
  • PipPip
  • 73 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 14 November 2010 - 05:20 PM

Cái này dễ mà
chọn dt
dùng lệnh Pedit chuyển qua SPL

Cám ơn Bác !
Những dỉnh của spl khác với pl mong các bác giúp em
  • 0

#2546 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 14 November 2010 - 06:40 PM

Cám ơn Bác !
Những dỉnh của spl khác với pl mong các bác giúp em

Chào bạn Phamvanthiet108,
Bạn cần nói rõ việc bạn muốn chuyển 1 polyline thành Spline nhằm mục tiêu gì và cái Spline bạn muốn có những đặc điểm gì so với cái polyline ban đầu. Như vậy họa may mới có cách giúp bạn được. Còn trình bày như bạn đã thấy có các cách hiểu khác nhau về yêu cầu của bạn rồi đó, và như thế thì cái kết quả có nhẽ cũng khó mà đúng ý bạn được.
Nếu không bí mật bạn hãy thử post bản vẽ 1 cái polyline ban đầu và cái Spline cuối cùng mà bạn muốn có để mọi người tham khảo bạn nhé...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2547 nguyenh001

nguyenh001

    biết zoom

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

Đã gửi 15 November 2010 - 10:07 AM

Bạn thử cái này nhé:

(defun c:qsd(/ ss)
(setq ss(ssget (list (cons 0 "DIMENSION")
(cons 1 (strcat (getstring t "\n Nhap tien to :")
"<>"
(getstring t "\n Nhap hau to :")
)
)
)
)
)
(sssetfirst ss ss)
(princ)
)


Bạn Tue_NV ơi, giúp mình với, đoạn lisp bạn viết giúp mình, trước vẫn dùng được nhưng bây giờ không dùng được nữa nó cứ báo là "Select objects: Specify opposite corner: 0 found, 0 total" không hiểu giá trị hệ thống của Cad có bị thay đổi gì không. Mình kiểm tra thuộc tính của dim thì nó chỉ hiện là (1 . "") chứ nó không hiểu (1 . "a<>") như mình lọc. Thanks
  • 0

#2548 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 15 November 2010 - 10:52 AM

Bạn Tue_NV ơi, giúp mình với, đoạn lisp bạn viết giúp mình, trước vẫn dùng được nhưng bây giờ không dùng được nữa nó cứ báo là "Select objects: Specify opposite corner: 0 found, 0 total" không hiểu giá trị hệ thống của Cad có bị thay đổi gì không. Mình kiểm tra thuộc tính của dim thì nó chỉ hiện là (1 . "") chứ nó không hiểu (1 . "a<>") như mình lọc. Thanks

Mình vẫn chưa rõ bạn bị tình trạng như thế nào nữa?
Phiền bạn upload file .dwg có Dim như trên và nói rõ hơn nhé
Chào bạn :iluvyousmiley:
  • 0

#2549 nguyenh001

nguyenh001

    biết zoom

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

Đã gửi 15 November 2010 - 11:02 AM

Chào bạn nguyenh001,
Để lấy tiền tố của một đối tượng dimension, bạn có thể sử dụng hàm (vla-get-Alttextprefix obj)
Để lấy hậu tố của một đối tượng dimension, bạn có thể sử dụng hàm (vla-get-Alttextsuffix obj)
Trong đó obj là tên đối tượng VLA-OBJECT. Bạn có thể lấy nó từ hàm sau (vlax-ename->vla-object ent) với ent là tên cúng cơm của cái dimension bạn chọn trong CAD thường được gọi là entity name đó. Có nhiều cách để lấy dược thằng ent này, tùy thoe bạn lựa chọn.
Nếu bạn thấy khó khăn thì hãy post lên mọi người sẽ giúp bạn hoàn thành nguyện vọng thôi.


Chào bạn phamthanhbinh
mình đã sử dụng hàm như bạn chỉ dẫn
(defun c:dd1(/ s1 s2)
(setq s1 (vlax-ename->vla-object (car (entsel))))
(setq s2 (vla-get-Alttextprefix s1))
(princ s1)
(princ s2)
(princ)
)
nhưng kết quả vẫn không lấy được giá trị của thuộc tính prefix, nó chỉ hiện ""
Bạn xem giúp mình với nhé, cám ơn bạn nhiều
  • 0

#2550 nguyenh001

nguyenh001

    biết zoom

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

Đã gửi 15 November 2010 - 11:46 AM

Mình vẫn chưa rõ bạn bị tình trạng như thế nào nữa?
Phiền bạn upload file .dwg có Dim như trên và nói rõ hơn nhé
Chào bạn :iluvyousmiley:


đây là file cad http://www.cadviet.c...iles/3/dim1.dwg
đây là file ảnh thao tác mình thực hiện http://www.cadviet.c...les/3/dim_1.jpg
vẫn đoạn lisp lần trước bạn viết cho mình
(defun c:qsd(/ ss)
(setq ss (ssget (list (cons 0 "DIMENSION")
(cons 1 (strcat (getstring t "\n Nhap tien to :")
"<>"
(getstring t "\n Nhap hau to :")
)
)
)
)
)
(sssetfirst ss ss)
(princ)
)

trước mình đã dùng được nhưng bây giờ không dùng được nữa, sau khi nhập tiền tố, hậu tố, select đối tượng thì không trả kết quả các dim có cùng thuộc tính prefix và suffix giống nhau nữa chỉ báo là "0 found"
mình cũng đã thử dùng hàm vla-get-Alttextprefix như bạn phamthanhbinh hướng dẫn nhưng nó cũng trả kết quả là ""
(defun c:dd1(/ s1 s2)
(setq s1 (vlax-ename->vla-object (car (entsel))))
(setq s2 (vla-get-Alttextprefix s1))
(princ)
)
cám ơn bạn
  • 0

#2551 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 15 November 2010 - 02:48 PM

đây là file cad http://www.cadviet.c...iles/3/dim1.dwg
đây là file ảnh thao tác mình thực hiện http://www.cadviet.c...les/3/dim_1.jpg
...............

LISP lọc các đuờng kích thuớc theo Tiền tố hoặc hậu tố:
tác giả : Alan J. Thompson
(defun c:DimSearch (/ flt lst n gr)
;; By Alan J. Thompson
(vl-load-com)
(or *doc*
(setq *doc* (vla-get-activedocument (vlax-get-acad-object)) ) )
(if
(and
(/= "" (setq flt (strcase (getstring T "\nNhap tien to hay hau to: "))))
(princ "\nChon kich thuoc : ")
((lambda (ss / dims ss)
(if (setq dims (cond ((ssget '((0 . "DIMENSION"))))
((ssget "_X" '((0 . "DIMENSION")))) ) )
(progn
(vlax-for x (setq dims (vla-get-activeselectionset *doc* ) )
(if (vl-member-if
(function (lambda (s) (wcmatch s flt)))
(mapcar (function (lambda (p) (strcase (vlax-get-property x p))))
'(TextPrefix TextSuffix) ) )
(setq lst (cons (trans (vlax-get x 'TextPosition) 0 1) lst)
ss (ssadd (vlax-vla-object->ename x) ss) ) ) )
(vla-delete dims)
(sssetfirst nil ss)
(ssget "_I") ) ) )
(ssadd) )
(setq n -1) )
(while (and (eq 5 (car (setq gr (grread T 15 0)))) (vl-consp (cadr gr)))
(redraw)
(foreach p lst (grdraw (cadr gr) p 1)) ) )
(redraw)
(princ))

Bài viết đã được chỉnh sửa nội dung bởi gia_bach: 15 November 2010 - 04:28 PM

  • 1

#2552 nguyenh001

nguyenh001

    biết zoom

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

Đã gửi 15 November 2010 - 04:16 PM

LISP lọc các đuờng kích thuớc theo Tiền tố hoặc hậu tố:
tác giả : Alan J. Thompson

(defun c:DimSearch (/ flt lst n gr)
;; By Alan J. Thompson
(vl-load-com)
(or (*doc*)
(setq *doc* (vla-get-activedocument (vlax-get-acad-object)) ) )
(if
(and
(/= "" (setq flt (strcase (getstring T "\nNhap tien to hay hau to: "))))
(princ "\nChon kich thuoc : ")
((lambda (ss / dims ss)
(if (setq dims (cond ((ssget '((0 . "DIMENSION"))))
((ssget "_X" '((0 . "DIMENSION")))) ) )
(progn
(vlax-for x (setq dims (vla-get-activeselectionset *doc* ) )
(if (vl-member-if
(function (lambda (s) (wcmatch s flt)))
(mapcar (function (lambda (p) (strcase (vlax-get-property x p))))
'(TextPrefix TextSuffix) ) )
(setq lst (cons (trans (vlax-get x 'TextPosition) 0 1) lst)
ss (ssadd (vlax-vla-object->ename x) ss) ) ) )
(vla-delete dims)
(sssetfirst nil ss)
(ssget "_I") ) ) )
(ssadd) )
(setq n -1) )
(while (and (eq 5 (car (setq gr (grread T 15 0)))) (vl-consp (cadr gr)))
(redraw)
(foreach p lst (grdraw (cadr gr) p 1)) ) )
(redraw)
(princ))


Cám ơn bạn gia_bach, đoạn lisp của bạn cung cấp mình sử dụng được rồi, nó chỉ bị 1 lỗi nhỏ ở đoạn (or ("doc") mình phải xóa đi mới chạy được, chắc không ảnh hưởng đến cấu trúc. Về nội dung thì hơi phức tạp đối với mình, nếu bạn giải thích thêm được thì tốt, nếu không mình sẽ nghiên cứu dần dần. :iluvyousmiley:
Thank you very much (Tue_NV,gia_bach,phamthanhbinh)
  • 0

#2553 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 15 November 2010 - 04:32 PM

Cám ơn bạn gia_bach, đoạn lisp của bạn cung cấp mình sử dụng được rồi, nó chỉ bị 1 lỗi nhỏ ở đoạn (or ("doc") mình phải xóa đi mới chạy được, chắc không ảnh hưởng đến cấu trúc. Về nội dung thì hơi phức tạp đối với mình, nếu bạn giải thích thêm được thì tốt, nếu không mình sẽ nghiên cứu dần dần. :iluvyousmiley:
Thank you very much (Tue_NV,gia_bach,phamthanhbinh)

Thanks, đã sữa lỗi (or ("doc")...) -> (or "doc" ...)
Rất tiếc là không có nhiều thời gian để giải thích cho bạn đuợc.
  • 0

#2554 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 15 November 2010 - 04:47 PM

Bác giải thích giùm e trong đoạn code này chỗ nào gán đường kính của các chấm tròn thép và khoảng cách từ tâm chấm tròn này đến thanh thép phía dưới.Và tạo cho các vòng tròn là block ATT.Thanks

Không bác nào giải thích giùm e được sao?
  • 0

#2555 quan08

quan08

    biết vẽ pline

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

Đã gửi 15 November 2010 - 09:22 PM

Mình thử tạo block ATT cho một hình tròn mà không được.Mong các bác xem chỉnh sửa giùm.Thanks.
http://www.cadviet.c...les/3/ttttt.lsp
  • 0

#2556 phongthien

phongthien

    biết vẽ line

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

Đã gửi 15 November 2010 - 10:37 PM

giúp mình file cad này với các bác ơi
có thể cắt các chuỗi text màu xanh thành các text nằm ở các lớp khác nhau như trong bản vẽ không.
cám ơn các bác nhiều nhe
vì khối lượng bản vẽ quá lớn mà mình ngồi gõ lại chắc tới năm sau quá
cám ơn các bác nhiều thật nhiều nhe.
có thể dùng lisp hặcc cách nào khác không vậy
file đính kèm
http://www.cadviet.c...les/3/aaa_2.dwg
  • 0

#2557 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

  • Members
  • PipPip
  • 97 Bài viết
Điểm đánh giá: 76 (tàm tạm)

Đã gửi 15 November 2010 - 11:57 PM

giúp mình file cad này với các bác ơi
có thể cắt các chuỗi text màu xanh thành các text nằm ở các lớp khác nhau như trong bản vẽ không.
cám ơn các bác nhiều nhe
vì khối lượng bản vẽ quá lớn mà mình ngồi gõ lại chắc tới năm sau quá
cám ơn các bác nhiều thật nhiều nhe.
có thể dùng lisp hặcc cách nào khác không vậy
file đính kèm
http://www.cadviet.c...les/3/aaa_2.dwg


Lệnh là TDT http://www.mediafire...hbhhd40hmqr41mg

Hoặc chạy luôn file chương trình đó

Quét tất cả các text của bản vẽ của bạn nhé , cho khỏe! ^^
bạn test thử nhé, layer như đúng bản vẽ của bạn

Nếu có hứng thú nghiên cứu về nó bạn đọc ở blog mình nha (PR tý :iluvyousmiley: ) http://tudaihiep.com...-lap-trinh-vba/
  • 2
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2558 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 16 November 2010 - 12:10 AM

Lệnh là TDT http://www.mediafire...hbhhd40hmqr41mg

Hoặc chạy luôn file chương trình đó

Quét tất cả các text của bản vẽ của bạn nhé , cho khỏe! ^^
bạn test thử nhé, layer như đúng bản vẽ của bạn

Nếu có hứng thú nghiên cứu về nó bạn đọc ở blog mình nha (PR tý :iluvyousmiley: ) http://tudaihiep.com...-lap-trinh-vba/

Cái của bạn rất hay nhưng hình như chưa đúng với yêu cầu của tác giả. Bạn có tài liệu VBA không thấy bạn làm nhiều chương trình hay nên mình thấy "kết" con VBA này rồi đấy.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2559 KS.PhanThanhTu

KS.PhanThanhTu

    biết vẽ point

  • Members
  • PipPip
  • 97 Bài viết
Điểm đánh giá: 76 (tàm tạm)

Đã gửi 16 November 2010 - 12:20 AM

:iluvyousmiley:
Theo như yêu cầu của bạn ấy thì mình nghĩ là chương trình đúng rồi chứ (nếu mình ko hiểu sai ý của bạn ý :D

Trước khi chạy lệnh (bản vẽ ban đầu của bạn ý)
Các text thuộc 1 layer có nội dung liền nhau (tức là 1 đối tượng text)

Hình đã gửi

sau khi chạy lệnh thì tách ra 3 text ở 3 layer khác nhau, có màu khác theo như mẫu của bạn ý
Hình đã gửi

:D Về VBA thì cũng chẳng có tài liệu gì mấy, căn bản mình trước hay làm phần mềm bằng VB mà, nên VBA cũng nhanh quen và cũng có thư viện tích lũy được trong quá trình làm trước đây rồi!
  • 0
KS Phan Thanh Tú.Email: Vansulich@yahoo.com

#2560 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

  • Members
  • PipPip
  • 73 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 16 November 2010 - 08:13 AM

Chào bạn Phamvanthiet108,
Bạn cần nói rõ việc bạn muốn chuyển 1 polyline thành Spline nhằm mục tiêu gì và cái Spline bạn muốn có những đặc điểm gì so với cái polyline ban đầu. Như vậy họa may mới có cách giúp bạn được. Còn trình bày như bạn đã thấy có các cách hiểu khác nhau về yêu cầu của bạn rồi đó, và như thế thì cái kết quả có nhẽ cũng khó mà đúng ý bạn được.
Nếu không bí mật bạn hãy thử post bản vẽ 1 cái polyline ban đầu và cái Spline cuối cùng mà bạn muốn có để mọi người tham khảo bạn nhé...

Muc dich cua Em la E vẽ đường đồng mức bằng Pl nhưng bây giờ em muốn đường đồng mức mền mại hơn một chút thôi.
  • 0