| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA проблема со штриховкой замкнутой полилинии неправильной формы

VBA проблема со штриховкой замкнутой полилинии неправильной формы

Ответ
Поиск в этой теме
Непрочитано 13.02.2011, 16:29 #1
VBA проблема со штриховкой замкнутой полилинии неправильной формы
sergtranes
 
проектирование "чистых комнат"
 
Хайфа
Регистрация: 07.02.2011
Сообщений: 51

добрый всем день,
проблема со штриховкой замкнутой полилинии неправильной формы
грязно ругается на команду:

oHatch.AppendOuterLoop oPline
"Invalid object array!"

хотя PolyLine допустима для етой команды!

kak сделать штриховку неправильной формы ?
хотелось бы MultyLine , но ето не подходит!

спасибо

Последний раз редактировалось sergtranes, 13.02.2011 в 17:31.
Просмотров: 3038
 
Непрочитано 13.02.2011, 19:18
#2
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Пробуй для замкнутых LWPOLINE:
Код HTML:
Option Explicit


          Public Sub ApplyHatch(pline As AcadLWPolyline, ptype As Long, patt As String, scl As Double)
     
          Dim oEnt As AcadEntity
          Dim oSpace As AcadBlock
          Set oSpace = ThisDrawing.ActiveLayout.Block
          
          With oSpace
          Set oEnt = pline
          Dim varObj(0) As AcadEntity
          Set varObj(0) = pline
          Dim oHatch As AcadHatch
          


          Set oHatch = .AddHatch(ptype, patt, True)
          oHatch.SetPattern ptype, patt
          oHatch.PatternScale = scl

          oHatch.AppendOuterLoop varObj
          

          End With
          End Sub
          
          Public Sub demo()
            Dim pfs As AcadSelectionSet
              Dim oEnt As AcadEntity
              Dim varPt As Variant
              Dim ftype(0 To 1) As Integer
              Dim fdata(0 To 1) As Variant
              Dim dxfCode, dxfValue
              Dim n
          
              Dim oPline As AcadLWPolyline
              
          On Error GoTo Err_Conrtol
          
              ftype(0) = 0: ftype(1) = 70:
              
              fdata(0) = "LWPOLYLINE": fdata(1) = 1:
              
              dxfCode = ftype: dxfValue = fdata
              
              With ThisDrawing
              
          With .SelectionSets
               While .Count > 0
                    .Item(0).Delete
               Wend
          Set pfs = .Add("NewOne")
          End With
       
              pfs.SelectOnScreen dxfCode, dxfValue
          
              If pfs.Count = 0 Then Exit Sub
 
              For Each oEnt In pfs
          
                  Set oPline = oEnt
                  
          ApplyHatch oPline, 1, "ANSI37", 10#
          
              Next oEnt
              
.Regen acActiveViewport

              End With
              
Err_Conrtol:
          
          End Sub
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 14.02.2011, 11:10
#3
sergtranes

проектирование "чистых комнат"
 
Регистрация: 07.02.2011
Хайфа
Сообщений: 51


спасибо Олег - помогло!
sergtranes вне форума  
 
Непрочитано 14.02.2011, 19:17
#4
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Цитата:
Сообщение от sergtranes Посмотреть сообщение
спасибо Олег - помогло!
Пожалуйста,
забыл добавить в справке:
после вызова метода AppendOuterLoop
Код:
[Выделить все]
oHatch.AppendOuterLoop varObj
нельзя производить никаких манипуляций со
штриховкой из-за непредсказуемости результата
(вольный перевод)

Последний раз редактировалось Олег (jr.), 14.02.2011 в 19:43.
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 14.02.2011, 19:28
#5
sergtranes

проектирование "чистых комнат"
 
Регистрация: 07.02.2011
Хайфа
Сообщений: 51


впечетляет!
еще раз спасибо
sergtranes вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA проблема со штриховкой замкнутой полилинии неправильной формы

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение и удаление обьектов внутри замкнутой полилинии. Как? DTwice AutoCAD 5 18.05.2009 14:31
Пересечения внутри замкнутой полилинии mark AutoCAD 4 21.11.2008 20:39
Задание начальной точки у замкнутой полилинии Sky_cool Программирование 2 23.01.2008 11:11
Как вставить блоки по направлению полилинии (VBA) dorofei Программирование 5 27.11.2006 06:50
некорректно определяется площадь замкнутой полилинии elena_din AutoCAD 16 23.09.2005 17:37