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

HoaVien

Thành viên
  • Số lượng nội dung

    51
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    1

Bài đăng được đăng bởi HoaVien


  1. Khổ thân anh Hiệp quá cơ! Bữa trước gặp câu hỏi khó hiểu, bữa nay lại vớ phải câu hỏi xương xẩu hơn :) :) :)

    Anh giải lao 20 giây với câu chuyện sau nhé: 

     

    "Hai cậu bé nói chuyện với nhau:

    - Ê, tao hỏi mày cái này nha?

    - Nói đi.

    - Ví dụ nhà mày nuôi một con chó và một con lợn. Đến đám giỗ, mày cần đưa một con lên bàn thờ.

    Con lợn nó nghĩ mày sẽ thịt con chó, con chó nó lại nghĩ mày sẽ thịt con lợn. Vậy theo mày, mày định thịt con nào?

    - Tao định thịt con lợn!

    - Mày suy nghĩ giống con chó quá!"

    he he .. Đưa chị Hoan lên ... đc kg?

    • Vote tăng 1

  2. Chào KangKung, mình đã check thử file số liệu mẫu bạn đính kèm. Kết quả cho ra như hình vẽ bạn xem có phải không?

     

    2883_ge.png

     

    Nếu đúng, thì mình nghĩ rằng Việt Nam mình cũng có nhiều số liệu để test chứ làm sao lại bay cả sang TQ để test chứ. :D

    Nếu chưa chính xác thì bạn chỉ mình nhé.

    Trân trọng.

    KangKung chắc là hậu bối của vua Quang Trung (ôm mộng bắc tiến) ?!

     

    Trong khi đó minhphuong_humg lại lo đụng chạm đến ông hàng xóm hay gây sự ?

    • Vote tăng 1

  3. Chào các bạn,

    Các bạn cho mình hỏi, có cách nào xác định được tọa độ những điểm nằm trên 1 cung tròn không, ngoài tọa độ 2 điểm đầu , cuối, và điểm giữa. Cảm ơn các bạn.

    Đăng ký học lại môn hình học giải tích thôi :

    - đường tròn - cung tròn : http://vi.wikipedia.org/wiki/%C4%90%C6%B0%E1%BB%9Dng_tr%C3%B2n

    - hệ tọa độ cực : http://vi.wikipedia.org/wiki/H%E1%BB%87_t%E1%BB%8Da_%C4%91%E1%BB%99_c%E1%BB%B1c


  4. Các bác cho em hỏi tại sao khi Add 1 cái Solid  3D bằng VBA thì chỉ ra được cái Bounding box mà không ra được cái Solid với đầy đủ Geometry?

    vd: AddBox, AddCone....

     

    Và có cách nào vẽ được cái 3D Solid với đầy đủ Geometry không? Xin chỉ cho em (trừ cái vụ SendCommand)

    Tham khảo Help developer document :

    To create a 3DSolid, use one of the following methods: AddBox, AddCone, AddCylinder, AddEllipticalCone, AddEllipticalCylinder, AddExtrudedSolid, AddExtrudedSolidAlongPath, AddRevolvedSolid, AddSphere, AddTorus, AddWedge. 

     

    ví dụ addWedge

    Sub Example_AddWedge()
        ' This example creates a wedge in model space.
        
        Dim wedgeObj As Acad3DSolid
        Dim center(0 To 2) As Double
        Dim length As Double
        Dim width As Double
        Dim height As Double
        
        ' Define the wedge
        center(0) = 5#: center(1) = 5#: center(2) = 0
        length = 10#: width = 15#: height = 20#
        
        ' Create the wedge in model space
        Set wedgeObj = ThisDrawing.ModelSpace.AddWedge(center, length, width, height)
        
        ' Change the viewing direction of the viewport
        Dim NewDirection(0 To 2) As Double
        NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
        ThisDrawing.ActiveViewport.Direction = NewDirection
        ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
        ZoomAll
    
    End Sub
    

    AddBox

    Sub Example_AddBox()
        ' This example creates a box in model space.
            
        Dim boxObj As Acad3DSolid
        Dim length As Double, width As Double, height As Double
        Dim center(0 To 2) As Double
        
        ' Define the box
        center(0) = 5#: center(1) = 5#: center(2) = 0
        length = 5#: width = 7: height = 10#
        
        ' Create the box (3DSolid) object in model space
        Set boxObj = ThisDrawing.ModelSpace.AddBox(center, length, width, height)
        
        ' Change the viewing direction of the viewport to better see the box
        Dim NewDirection(0 To 2) As Double
        NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
        ThisDrawing.ActiveViewport.Direction = NewDirection
        ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
        ZoomAll
        
    End Sub
    

  5. Sài tạm Lisp này nhé.

    (defun c:gh(/ ent fh fn pnt sset)
      (princ "Chon PLine:" )
      (if (and (setq sset (ssget "_+.:S:E"'((0 . "LWPOLYLINE"))))
    	   (setq fn (getfiled "POLYLINE Export File" "" "hdm" 1)))
        (progn      
          (setq fh (open fn "w")
    	    ent (entget (ssname sset 0)))
          (princ "BEGIN" fh)
          (foreach rec ent
    	(if (= (car rec) 10)
    	  (princ (strcat "\n"(rtos (car (setq pnt (cdr rec)))) "," (rtos (cadr pnt)) ) fh) )  )
          (close fh)) )
      (princ))
    

  6. thật là vl. Đúng là cái cộng đồng toàn những kẻ không ra gì. Tui không phải dân design nên thiết kế không chính xác(Đó chỉ là hình minh hoạ). Tôi là một dân lập trình mobile. Và tôi chỉ mong mọi người chỉ cho cái hướng giải quyết. Tưởng mình giỏi hơn ai mà các bạn sỉ nhục người ta như vậy.

     

    Thế mà tui cứ tưởng là dân lập trình "cục gạch" chứ ?!

    125141_hinh1_2.png

    • Vote tăng 2

  7. em cảm ơn anh gia_bach nhiều ạ

    anh cho em hỏi tý nữa ạ

    nếu trong bản vẽ có 2 loại khung tên

    khung tên ngang (KTN) từ kc 01-kc 05

    khung tên doc (KTD) từ kc 06 đến kc 10

    khung tên ngang lại lặp lại từ kc 11 đến kc 20

    vậy làm sao để thống kê đc vậy anh

    em cảm ơn anh

    Hi! Chúc mừng gia bach có "đơn hàng" mới.

     

    Trong khi chờ và đợi, engineer0405 có thể nghiên cứu các lệnh tách-nhập bảng của Cad để áp dụng cho t/hợp của mình.

    Cụ thể là : 

    - tạo bảng  (KTN) gồm kc 01-05 và kc 11-20

    - tạo bảng (KTD) gồm kc 06-10

    sau đó dùng các lệnh edit bảng để chèn các dòng của bảng kc06-10 vào trước dòng kc06 của bảng đầu.

    • Vote tăng 2

  8. Sài thử Lisp này xem :

     

    (defun c:rv( / n vp)
      (vl-load-com)
      (if (= (getvar "Tilemode") 0)
        (progn
          (if (/= (getvar "cvport") 1)
    	(vla-Put-MSpace (vla-Get-ActiveDocument (vlax-Get-Acad-Object)) :vlax-False))
          (prompt "\nChont viewport can xuay: ")
          (if (and (setq ss (ssget ":S+." '((0 . "VIEWPORT"))))
    	       (setq ang (getangle "\nNhap goc xuay: ")))
    	(vla-Put-TwistAngle (vlax-EName->vla-Object (ssname ss 0)) ang) ) )      
        (alert "\n Chuyen sang Layout truoc khi chay Lisp!")    )
      (princ)  )
    
    • Vote tăng 1

  9. Đúng là CadViet có 1 đội ngũ viết Lisp rất tốt.

    Nhưng không phải mọi yêu cầu về Lisp đều chính đáng, vì không chỉ Lisp mà còn nhiều cách khác làm tốt hơn.

    Trong t/hợp này, đã có Lisp (Exress Tool) đáp ứng tốt nhu cầu của bạn, nhưng bạn vẫn muốn "hành hạ" lòng tốt, "cắt xén" thời gian nghỉ ngơi của anh em CadViet sao ?

    Bạn nhân danh lợi ích của cộng đồng hay lợi ích của cá nhân bạn ?

     

    Tại sao bạn không làm theo ý của bác Bình, đó chính là tư vấn chuyên môn đích thực.

    Có cần thiết phải "mèo nheo" như vậy ko?


  10. Mình viết hàm dùng chuyễn nhóm đối tượng thành list đối tượng chạy ok như sau:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;Tao list tu tap hop chon
    ;;;Cu phap su dung (duy:taolist<tapchon tapchon) 
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun duy:taolist<tapchon (tapchon / tapchon listtc stt sdt chondt)
    (setq stt 0)
    (setq sdt (sslength tapchon))
    (while (< stt sdt)
    (setq chondt (ssname tapchon stt))
    (setq listtc (cons chondt listtc))
    (setq stt (+ stt 1))
    )
    listtc)
    

     

    Sau đó vì nhu cầu mình lại viết hàm chuyễn cái list này thành tập hợp chọn như sau:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;Tao tap hop chon tu list  
    ;;;Cu phap su dung (duy:taotapchon<list listtc) 
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun duy:taotapchon<list (listtc / tapchon dtc)
    (foreach dtc listtc
    (ssadd dtc tapchon)
    )
    tapchon)
    

     

    Nhưng test thử thì hàm này ko chạy được dù mình thấy có sai chi mô.

    (defun c:ctt ()
    (setq tdt (ssget))
    (setq ldt (duy:taolist<tapchon tdt))
    (setq dtcd (duy:taotapchon<list ldt))
    (command ".copy" dtcd "" (getpoint) (getpoint))
    )
    
    

     

    Chắc là có sai mà mình ko thấy, các bác tinh mắt ngó giúp với. Cám ơn!

    Cần "giải phóng mặt bằng" trước khi "khởi công".

    (defun duy:taotapchon<list (listtc / tapchon dtc)

      (setq tapchon (ssadd))

      (foreach dtc listtc

        (ssadd dtc tapchon))

      tapchon)

    • Vote tăng 1

  11. À, Câu hỏi này dùng cho lập trình viên. hãy suy nghĩ như 1 lập trình viên thì bạn sẽ hiểu vì sao mình đặt câu hỏi ngược như vậy. thân!

    Chả cần "suy nghĩ như 1 lập trình viên", suy nghĩ nhu 1 họa-viên cũng có câu trả lời!

     

    Vấn đề là ThuyLinh313 có muốn mọi người hiểu ThuyLinh313 đang suy nghĩ gì không thôi ?


  12. ......

    Mình xin hỏi các bạn một số câu như sau:

    1) Việc khẳng định là : điểm đầu( điểm nước vào ống) cao hơn điểm đặt bể thì nước luôn chảy về bể được có đúng ko

    2) Các bạn cho mình hỏi tính toán như thế nào, các thông số theo mình là đã biết như: Chênh lẹch giữa điểm đầu và điểm đặt bể, loại ống, lưu lượng, chiều dài(dường ống đi theo địa hình, lên xuống tương đối nhiều)

    1. Bạn xem lại "qui tắc bình thông nhau" trong sách giáo khoa vật lý 8.

    2. Cái này là "nghề" của chuyên ngành cấp thoát nước, nếu muốn biết chi tiết có thể kiếm mấy cuốn sách về Thủy lực học ngâm cứu thêm.


  13. thực ra các bác nghĩ có vẻ hơi nặng lời với em, em muốn để dùng chung trên dữ liệu chung trong tổ mà muốn làm phải lên cty, còn mang về thì không được để khuyến khích làm việc trong giờ làm, còn về thì chơi thôi không làm!

    if (tồn tại thư mục hay file nào đó)

    Progn {load lisp abc ....}

    Progn (princ "hôm nay nghỉ ")

    • Vote tăng 1

  14. nhờ các bác viết giúp em 1 đoạn code để gắn vào lisp như sau:

    load DUONGDAN: "ổ W\\MinhChau\\AutoCAD\\Tienich\\Thu Vien\\")

    mục đích của em là để trên dữ liệu dùng chung, ai cũng có thể load lisp chạy được nhưng không copy về máy riêng của mình được. vì lúc đó đường dẫn sẽ sai và nó sẽ không hiểu khi load tại máy của mình! nó chỉ hiểu khi load với đường dẫn trên. cảm ơn các bác!

    nếu có đoạn đó thì em có thể chuyển lisp sang .vlx và người dùng khác không thể sửa đường dẫn được, mà đường dẫn đó chỉ hiểu là lisp phải để ở ổ W như đường dẫn trên. cảm ơn các bác đã quan tâm và giúp em nhé!

    haiza,

    mem này vừa "mót được con trâu" của anh 2 lúa nào đó thả long nhong ngoài đồng,

    tính mang ra công viên quây thêm 1 cái chuồng là thành chủ "chuồng trâu"

     

    Bác nào muốn dòm ngó thì xin mời "mua vé tham quan" nhé ?!


  15. Các bạn giúp mình với! Hồi trước có lần mình thấy và làm được đường kích thước 2 lớp như vậy nè. Chỉ một đối tượng dim thôi nha. Nhớ là giữa 2 hàng tren và dưới text có chèn kí tự ^/ hay /^^ gì đó mà giờ quên rồi. Có bạn nào biết chỉ mình với. Cám ơn các bạn trước nha!

    chèn kí tự ngã trước + kí tự X (viết hoa)"

    VD : "dòng trên \X dòng dưới"

    • Vote tăng 4
×