Победа штриховки надо мной

Автор Тема: Победа штриховки надо мной  (Прочитано 24608 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Вероятнее всего уже много раз обсуждали, но тем не менее открою эту тему, проблема с площадью штриховки, которая лично мне нужна до зарезу, по причине того, что мне нужна площадь фасада зашитого в блок, а фасад содержит все обычные элементы в больших количествах, поэтому boundary я воспользоваться не могу, ребята, помощь нужна любая, прикладываю картинку, чтобы вы видели площадь какого блока нужно взять!

Самое неприятное, что для элементарных объектов, типа прямоугольник, автокад прекрасно считает площадь

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #1 : 17-10-2014, 21:44:17 »
Для начала проверь считает ли площадь этой штриховки GeomProps: http://www.maestrogroup.com.ua/support/GeomProps.zip
Дальше поговорим.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #2 : 19-10-2014, 01:05:50 »
В любом случае только средствами Autolisp/VisualLisp ты не сможешь ничего в этой ситуации сделать. Задача должна сводиться к попытке получения контура (границы) штриховки на основе данных штриховки, а затем получение площади этой границы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #3 : 20-10-2014, 11:00:42 »
В любом случае только средствами Autolisp/VisualLisp ты не сможешь ничего в этой ситуации сделать. Задача должна сводиться к попытке получения контура (границы) штриховки на основе данных штриховки, а затем получение площади этой границы.
обидно! очень хотелось автоматик сделать lisp, ладно будем познавать дальше иными методами

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #4 : 20-10-2014, 11:08:15 »
Дальше поговорим.
Придется дальше разговаривать! Не нашел макрос площадь

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #5 : 20-10-2014, 11:10:48 »
Задача должна сводиться к попытке получения контура (границы) штриховки на основе данных штриховки, а затем получение площади этой границы.
Да я это прекрасно понимаю, но вот как это сделать, странно, что нет инструмента такого встроенного в автокад! Было бы очень удобно...В идеале да нужно чтобы была команда, которая обрисовывает контур блока, и затем конечно брать площадь этой полилинии замкнутой. Но я не имею, пока, такой квалификации, чтобы написать такой макрос

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Победа штриховки надо мной
« Ответ #6 : 20-10-2014, 12:38:53 »
Цитировать
object.GetLoopAt Index, Loop

Object

Hatch
 The object or objects this method applies to.

Index

Integer; input-only
 A positive integer beginning with 0.

Loop

Variant (object or array of objects); output-only
 An object or array of objects that makes up the loop.

Код - Visual Basic [Выбрать]
  1. Sub Example_GetLoopAt()
  2.         ' This example creates an associative hatch in model space.
  3.         ' It then finds the objects that make up the first loop of the hatch.
  4.  
  5.         Dim hatchObj As AcadHatch
  6.         Dim patternName As String
  7.         Dim PatternType As Long
  8.         Dim bAssociativity As Boolean
  9.  
  10.         ' Define the hatch
  11.         patternName = "ANSI31"
  12.         PatternType = 0
  13.         bAssociativity = True
  14.  
  15.         ' Create the associative Hatch object
  16.         Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)
  17.  
  18.         ' Create the outer loop for the hatch.
  19.         ' An arc and a line are used to create a closed loop.
  20.         Dim outerLoop(0 To 1) As AcadEntity
  21.         Dim center(0 To 2) As Double
  22.         Dim radius As Double
  23.         Dim startAngle As Double
  24.         Dim endAngle As Double
  25.         center(0) = 5: center(1) = 3: center(2) = 0
  26.         radius = 3
  27.         startAngle = 0
  28.         endAngle = 3.141592
  29.         Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
  30.         Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).startPoint, outerLoop(0).endPoint)
  31.        
  32.         ' Append the outer loop to the hatch object
  33.         hatchObj.AppendOuterLoop (outerLoop)
  34.  
  35.         ' Append the first circle as one inner loop
  36.         Dim innerLoop1(0) As AcadEntity
  37.         center(0) = 5: center(1) = 4.5: center(2) = 0
  38.         radius = 1
  39.         Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
  40.         hatchObj.AppendInnerLoop (innerLoop1)
  41.  
  42.         ' Append the second circle as the other inner loop
  43.         Dim innerLoop2(0) As AcadEntity
  44.         radius = 0.5
  45.         Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
  46.         hatchObj.AppendInnerLoop (innerLoop2)
  47.  
  48.         ' Evaluate and display the hatch
  49.         hatchObj.Evaluate
  50.         ThisDrawing.Regen True
  51.  
  52.         ' Find the objects that make up the first loop
  53.         Dim loopObjs As Variant
  54.         hatchObj.GetLoopAt 0, loopObjs
  55.  
  56.         ' Find the types of the objects in the loop
  57.         Dim I As Integer
  58.         Dim objName As String
  59.         objName = ""
  60.         For I = LBound(loopObjs) To UBound(loopObjs)
  61.                 objName = objName & loopObjs(I).EntityName & ", "
  62.         Next
  63.  
  64.         MsgBox "The objects in the first loop of the hatch are: " & objName, , "GetLoopAt Example"
  65.          
  66. End Sub
http://entercad.ru/acadauto.en/
« Последнее редактирование: 21-10-2014, 06:51:27 от trir »

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #7 : 20-10-2014, 13:42:04 »
Цитировать
object.GetLoopAt Index, Loop

Object

Hatch
 The object or objects this method applies to.

Index

Integer; input-only
 A positive integer beginning with 0.

Loop

Variant (object or array of objects); output-only
 An object or array of objects that makes up the loop.

Sub Example_GetLoopAt()
' This example creates an associative hatch in model space.
' It then finds the objects that make up the first loop of the hatch.

Dim hatchObj As AcadHatch
Dim patternName As String
Dim PatternType As Long
Dim bAssociativity As Boolean

' Define the hatch
patternName = "ANSI31"
PatternType = 0
bAssociativity = True

' Create the associative Hatch object
Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)

' Create the outer loop for the hatch.
' An arc and a line are used to create a closed loop.
Dim outerLoop(0 To 1) As AcadEntity
Dim center(0 To 2) As Double
Dim radius As Double
Dim startAngle As Double
Dim endAngle As Double
center(0) = 5: center(1) = 3: center(2) = 0
radius = 3
startAngle = 0
endAngle = 3.141592
Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).startPoint, outerLoop(0).endPoint)

' Append the outer loop to the hatch object
hatchObj.AppendOuterLoop (outerLoop)

' Append the first circle as one inner loop
Dim innerLoop1(0) As AcadEntity
center(0) = 5: center(1) = 4.5: center(2) = 0
radius = 1
Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
hatchObj.AppendInnerLoop (innerLoop1)

' Append the second circle as the other inner loop
Dim innerLoop2(0) As AcadEntity
radius = 0.5
Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
hatchObj.AppendInnerLoop (innerLoop2)

' Evaluate and display the hatch
hatchObj.Evaluate
ThisDrawing.Regen True

' Find the objects that make up the first loop
Dim loopObjs As Variant
hatchObj.GetLoopAt 0, loopObjs

' Find the types of the objects in the loop
Dim I As Integer
Dim objName As String
objName = ""
For I = LBound(loopObjs) To UBound(loopObjs)
objName = objName & loopObjs(I).EntityName & ", "
Next

MsgBox "The objects in the first loop of the hatch are: " & objName, , "GetLoopAt Example"

End Sub
http://entercad.ru/acadauto.en/
Я побоюсь спросить, к чему бы это?

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Победа штриховки надо мной
« Ответ #8 : 20-10-2014, 14:03:44 »
У штриховки есть метод GetLoopAt - который позволяет получить контуры

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #9 : 20-10-2014, 14:47:28 »
    Дальше поговорим.

Придется дальше разговаривать! Не нашел макрос площадь

Выкладывай чертеж (dwg-файл) с одной этой штриховкой. Попробую понять почему не считается её площадь и не баг ли это.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #10 : 20-10-2014, 15:20:37 »
Файл для анализа Александром

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #11 : 21-10-2014, 00:06:39 »
Увы, но с этой штриховкой что-то не так.
1) При попытке поменять тип штриховки на SOLID, получаю сообщение об ошибке:
Цитировать
Unable to update the solid fill.
Это с очень большой вероятностью говорит о том, что AutoCAD не может разобраться с границами штриховки.
2) Восстановить границы штриховки удается (например, при помощи команды  _hatchgenerateboundary) , но она получается какой-то неправильной, так что площадь не получить.
3) Для нормальной штриховки при её редактировании (_HATCHEDIT), выборе пункта Восстановить контур (Recreate Boundary) и выбора опции Область (Region) штриховка добавляет в чертеж в Область (Region), с такой же площадью. С этой штриховкой - полный облом.
« Последнее редактирование: 21-10-2014, 00:17:41 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Победа штриховки надо мной
« Ответ #12 : 21-10-2014, 07:14:24 »
Цитировать
91
     2548
 92
       33
 93
        1
 72
     1
 10
597.2846414763571
 20
178.1578161780228
 11
625.0347730094702
 21
178.1578161780228
 97
        0
 92
       48
 93
        1
 72
     1
 10
682.1803433355739
 20
450.8162548646562
 11
682.1803433355655
 21
450.816241410044
 97
        0

http://www.autodesk.com/techpubs/autocad/acad2000/dxf/hatch_dxf_06.htm
http://www.autodesk.com/techpubs/autocad/acad2000/dxf/boundary_path_data_dxf_06.htm

Контур состоит из "отрезков" поллиний
но самое весёлое это код 92

Цитировать

Boundary path type flag (bit coded):
0 = Default; 1 = External; 2 = Polyline;
4 = Derived; 8 = Textbox; 16 = Outermost
 

Походу здесь не хилые проблемы с топологией - фиг поймёшь где там дырки

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #13 : 21-10-2014, 09:25:00 »
Контур состоит из "отрезков" поллиний
которые еще и не соединяются между собой.
Походу здесь не хилые проблемы с топологией - фиг поймёшь где там дырки
Точно!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #14 : 21-10-2014, 10:46:22 »
Склонялся к той же мысли, сейчас попросил выдать нарисованный вручную фасад, попробую его обработать lisp и макросами Александра, тем не менее благодарю за помощь в анализе штриховки

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #15 : 21-10-2014, 11:06:04 »
Александр, подскажите а как бы забраться в ваше славное меню, которое создает макрос, чтобы прочитать скажем параметр площади и поместить в то место, которое необходимо, забираться планирую lisp`ом

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #16 : 21-10-2014, 14:19:31 »
Для начала проверь считает ли площадь этой штриховки GeomProps: http://www.maestrogroup.com.ua/support/GeomProps.zip
С иными штриховками, ваш макрос работает, хочу использовать информацию из вашего меню при помощи vla-GetXData, в правильном направлении следую???

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #17 : 21-10-2014, 14:21:07 »
в правильном направлении следую???
Совершенно мимо.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #18 : 21-10-2014, 14:22:52 »
Совершенно мимо.
Подскажите в какую сторону от камня на распутье двигаться!

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #19 : 21-10-2014, 14:24:09 »
Все дело в том, что знать их глядя в свойтсва объекта мне очень мало, мне эти цифры нужно в таблицу перенаправлять а дальше в excel файл, но начнем с тем, чтобы в таблицу их взять с помощью lisp, в принципе возможно ли это?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #20 : 21-10-2014, 14:28:28 »
GeomProps экспортирует в AutoCAD следующие lisp-функции:
Код - Auto/Visual Lisp [Выбрать]
  1. (GeomPropsGetPerimiter <имя примитива>)
  2. (GeomPropsGetArea <имя примитива>)
  3. (GeomPropsGetVolume <имя примитива>)
Можешь проверить такой код (введешь в его в командную строку AutoCAD):
Код - Auto/Visual Lisp [Выбрать]
  1. (GeomPropsGetArea (car (entsel "\nВыберите штриховку: ")))
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #21 : 21-10-2014, 14:30:24 »
Блестяще, спасибо!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #22 : 21-10-2014, 14:31:20 »
Блестяще, спасибо!
А читать Readme.txt не пробовал? Там это есть.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #23 : 21-10-2014, 14:42:42 »
А читать Readme.txt не пробовал? Там это есть.
Воистину есть! к сожалению не читал!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #24 : 21-10-2014, 14:44:31 »
к сожалению не читал!
А как ты догадался какой ARX-файл нужно грузить и где смотреть площадь? ;-)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #25 : 21-10-2014, 14:45:30 »
Файл по версии, а смотреть по логики!

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #26 : 21-10-2014, 14:48:52 »
Не долго музыка играла....Снова сложность у теперь уже не программная, в прикрепленном файле блок его штриховка и контур, которым я обвел сам блок....Площади штриховки и блока разные абсолютно :(

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #27 : 21-10-2014, 14:51:35 »
что самое удивительное, если взять тупо квадрат то они совпадут! вся проблема именно в сложноформенных блоках!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #28 : 21-10-2014, 14:59:48 »
что самое удивительное, если взять тупо квадрат то они совпадут! вся проблема именно в сложноформенных блоках!
Проблема в голове. Тебе какая площадь нужна? Внешнего контура? Судя по всему у тебя на фасадах/сечениях проемы, площадь которых в штриховке (если она нормальная) не учитывается. Это та топология, о которой писал trir.
P.S.: Блок не имеет площади вообще. В принципе не имеет. Так что прекрати говорить о площади блока. Можно говорить о площади штриховки, полилинии, поверхности, но нельзя говорить о площади блока в котором может быть что угодно. У тебя там вообще отдельные отрезки, которые плоские и поэтому площади не имеют (!!!) вообще.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #29 : 21-10-2014, 15:30:29 »
С головой проблем нет, считаю не зачем переходить на уровень дна общества и оскорблять. Мне нужно решить задачу. Мне нужна площадь внешнего контура. Возможно я выражаюсь не всегда доступно, но всегда лояльно отношусь к критике, когда она не переходит рамки приличия! Прошу помощи в решение задачи! Блок занимает пространство модели, по логике у него есть площадь, давайте перейдем к вопросу, как же опоясать блок внешним контуром, чтобы потом перейти к нахождению его площади, перепробовал многое, пришел к мысли, что поможет штриховка, оказалось не помогла. Есть идем?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #30 : 21-10-2014, 15:42:01 »
Я не собирался тебя оскорблять. Если обиделся - прошу прощения. Постараюсь в будущем быть корректнее. Я лишь имел в виду, что ты или не понимаешь задачу или не объясняешь её.
Мне нужна площадь внешнего контура.
Вот это и есть постановка задачи. У тебя на входе блок состоящий из отдельных отрезков?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #31 : 21-10-2014, 15:44:48 »
Блок может состоять из отдельных отрезков, а может из полилиний
Вроде как победа
http://www.caduser.ru/forum/index.php?PAGE_NAME=read&FID=44&TID=32529
Сейчас потестирую, сей макрос рисует как раз внешний контур вокруг блока а дальше дело техники

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #32 : 21-10-2014, 15:47:45 »
Работает через раз!!!)))

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #33 : 21-10-2014, 15:49:36 »
Код хороший, но он находит все контуры все объектов внутри блока, а мне нужен лишь внешний. Без Вас, я чувствую победы не видать

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #34 : 21-10-2014, 15:51:48 »
Попробуй этот код: http://forum.dwg.ru/showpost.php?p=668619&postcount=17
Предварительно я так понимаю блок придется расчленить.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #35 : 21-10-2014, 15:54:58 »
Код хороший, но он находит все контуры все объектов внутри блока, а мне нужен лишь внешний. Без Вас, я чувствую победы не видать
:) Итак ты получил набор контуров, один из которых внешний. Как определить какой из них внешний? Ответ очевиден - у него максимальная площадь.

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #36 : 21-10-2014, 16:31:43 »
http://www.caduser.ru/forum/index.php?PAGE_NAME=message&FID=44&TID=32529&MID=186055#message186055
Вроде как это все делает то, что мне нужно! и без разбивки блоков, немного странно работает, но работает, что радует, ибо замороченная миссия у кода

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Победа штриховки надо мной
« Ответ #37 : 21-10-2014, 16:35:22 »
Это там где команда DEN? Похоже ты дал неправильную ссылку. Тот код работает только для текстов.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Peacemaker_kissАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 76
  • Карма: 0
  • Воспитываю из него программиста
Re: Победа штриховки надо мной
« Ответ #38 : 21-10-2014, 16:41:01 »
Да, наврал, прошу прощенья
http://www.caduser.ru/forum/index.php?PAGE_NAME=read&FID=44&TID=32529&PAGEN_1=2
вот код
тестировал на нем