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

dinhtiennd94

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

    34
  • Đã tham gia

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

  • Ngày trúng

    2

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


  1. Vào lúc 8/6/2020 tại 11:04, lon ton đã nói:

    Bác có thể dùng cái C2F.vlx này, nó có thể xuất tất tần tật các thông số của các loại đối tượng (text, block, line, Pl...) ra file csv.

    C2F.rar

    lisp này của Bác ạ,Bác xem lại giúp e với e xuất tọa độ của các đối tượng point,block... thì chuẩn, còn đối tượng text thì nó lệch hệ met mấy đơn vị


  2. e có 1 đoạn code tạo ribbon mà khi tạo xong nhấn ribbon 2 để thực hiện lệnh thì dòng chữ nó dúm lại và không thấy ảnh đâu,bác nào giúp e với,e cám ơn ạ

    Imports Autodesk.AutoCAD.ApplicationServices
    Imports Autodesk.AutoCAD.Runtime

    ' Create Ribbon
    Imports Autodesk.Windows
    Imports System.Drawing
    Imports System.IO


    Namespace XDARibbon
        Public Class Ribbon
            Implements IExtensionApplication

            Public Sub Initialize() Implements IExtensionApplication.Initialize
                ' Khi load và trong CAD sẽ thực thi sub
                CreateRibbon()
            End Sub

            Public Sub Terminate() Implements IExtensionApplication.Terminate

            End Sub


            Public Sub CreateRibbon() ' Create Ribbon trong CAD


                Dim ribbonControl As Autodesk.Windows.RibbonControl = Autodesk.Windows.ComponentManager.Ribbon

                Dim Tab As New RibbonTab()

                Tab.Title = "Menu"

                Tab.Id = "TESTRIBBON_TAB_ID"

                ribbonControl.Tabs.Add(Tab)

                Dim srcPanel As Autodesk.Windows.RibbonPanelSource = New RibbonPanelSource()

                srcPanel.Title = "Panel1"


                Dim Panel As New RibbonPanel()

                Panel.Source = srcPanel

                Tab.Panels.Add(Panel)
                ' ---------------Add Button 1 trong RibbonCombo-----------------
                Dim BtCb1 As New RibbonButton() ' Tạo mới và cài đặt các thuộc tính cho btcb
                BtCb1.Text = "Ribbon"
                BtCb1.CommandParameter = "Polyline" & vbLf
                BtCb1.ShowText = True
                BtCb1.ShowImage = True
                BtCb1.Image = LoadImage()
                BtCb1.LargeImage = LoadImage()
                BtCb1.CommandHandler = New AdskCommandHandler()

                ' ---------------Add Button 2 trong RibbonCombo------------------------------------------
                Dim BtCb2 As New RibbonButton() ' Tạo mới và cài đặt các thuộc tính cho btcb
                BtCb2.Text = "Chọn đối tượng có thuộc tính giống nhau"
                BtCb2.CommandParameter = "copy" & vbLf
                BtCb2.ShowText = True

                BtCb2.ShowImage = True
                BtCb2.Image = LoadImage1()
                BtCb2.LargeImage = LoadImage1()
                BtCb2.CommandHandler = New AdskCommandHandler()

                Dim ribSplitButton As New RibbonSplitButton()
                ribSplitButton.Text = ""
                ribSplitButton.ShowText = True
                ribSplitButton.Width = 100
                ribSplitButton.Items.Add(BtCb1)
                ribSplitButton.Items.Add(BtCb2)

                ribSplitButton.Size = RibbonItemSize.Large
                srcPanel.Items.Add(ribSplitButton)
                Tab.IsActive = True

            End Sub

            ' OKE Tạo hàm trả về kiểu BitmapImage
            Private Shared Function LoadImage() As System.Windows.Media.Imaging.BitmapImage
                Dim pic As Bitmap = My.Resources.Resource1.bitmap1

                Dim ms As New MemoryStream()
                pic.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
                Dim bi As New System.Windows.Media.Imaging.BitmapImage()
                bi.BeginInit()
                bi.StreamSource = ms
                bi.EndInit()

                Return bi
            End Function
            Private Shared Function LoadImage1() As System.Windows.Media.Imaging.BitmapImage
                Dim pic As Bitmap = My.Resources.Resource2.bitmap2

                Dim ms As New MemoryStream()
                pic.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
                Dim bi As New System.Windows.Media.Imaging.BitmapImage()
                bi.BeginInit()
                bi.StreamSource = ms
                bi.EndInit()

                Return bi
            End Function

        End Class

        ' Định nghĩa Class thể thực thi
        Public Class AdskCommandHandler
            'Gọi InterFace System.Windows.Input.ICommand ra để sử dụng hàm của nó.
            Implements System.Windows.Input.ICommand

            Public Function CanExecute(parameter As Object) As Boolean Implements Windows.Input.ICommand.CanExecute
                Return True
            End Function
            ' Sự kiện của interface
            Public Event CanExecuteChanged(sender As Object, e As EventArgs) Implements Windows.Input.ICommand.CanExecuteChanged

            Public Sub Execute(parameter As Object) Implements Windows.Input.ICommand.Execute
                Dim ribBtn As RibbonButton = TryCast(parameter, RibbonButton)

                If ribBtn IsNot Nothing Then

                    ' Lấy text là command đã được định nghĩa trong CommandParameter
                    Dim Scmd As String = ribBtn.CommandParameter

                    ' Gửi trực tiếp các lệnh vào dòng Command Line bằng phương thức SenStringToExecute
                    ' để CAD thực hiện (thay thao tác type lệnh vào)
                    Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute(Scmd, True, False, True)
                End If

            End Sub
        End Class


    End Namespace

     

    71861453_752526108551039_8713466750605197312_n.jpg


  3. 12 giờ trước, gia_bach đã nói:

    Tôi chỉ sửa lỗi để project có thể build được, việc code có chạy được (tạo Ribbon) hay không tôi không có điều kiện kiểm tra (vì không sài Ribbon).

     

    - thêm tham chiếu (add reference) file ACCui.dll

    - tạo resource cho các file *.bmp

    - thay thế nội dung file init.cs đính kèm.

     

    Chúc may mắn.

    init.zip

    vâng,e cám ơn ah ạ,mà e chạy thử vẫn chưa được ạ


  4. Giờ e có 1 file text  A.B e muốn viết 1 lisp khoanh tròn những điểm có cao độ lớn hơn hoặc nhỏ hơn giá trị mình đặt ra. khi load thì hiện lên bảng.trog bảng có 1 dòng chọn những số lớn hơn.hoặc nhỏ hơn giá trị mình đặt ra.

    1 dòng hiện kích thước đường tròn.

    Và 1 cái là kích vào đường bao giới hạn những điểm muốn khoanh.

    E cám ơn ạ

    • Vote giảm 2

  5. Vào lúc 9/11/2010 tại 13:38, ketxu đã nói:

    P/S: Srr vì chưa thử,thấy dung lượng file cũng lớn nên mình thử unhide,quả nhiên có đầy đủ nội dung file CAD trong đó thật ^^,bạn có thể dùng lisp hide_show trên diễn đàn để làm nó "hiện" lên.Bác Tue cũng có trả lời bên topic kia rồi đó ạ :)

    P/S : vì bạn post bên VBA nên mình gửi bạn 1 phần viết bằng VBA,phòng trường hợp còn có những file khác như vậy.Bạn giải nén ra,dùng AP load cả 2 file dưới vào CAD rồi dùng lệnh anhien bạn nhá.Trong dialog hiện lên bạn chọn ON để hiện các đối tượng cần hiện,và off để làm ngược lại ^^

    hideshow

    sao e làm nhu the kg pha duoc pass ạ

     


  6. 11 phút trước, Vạn Vô Thường đã nói:

    bạn nhờ vả thì phải viết cho người muốn giúp bạn hiểu chứ, viết như vậy sẽ chẳng ai giúp bạn đâu

    e sửa rồi ah ạ,ah xem giúp e với,e mới vào diễn đàn có gì ah chỉ bảo thêm ạ,e cám ơn

×