Глюки BlockTableRecord.HasAttributeDefinitions AC2014

Автор Тема: Глюки BlockTableRecord.HasAttributeDefinitions AC2014  (Прочитано 17890 раз)

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

Оффлайн bargool

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #15 : 20-03-2014, 16:38:48 »
Класс =))
Прям pythonic way =)
В каком-то из pep они призывают писать модули (читай, библиотечные файлы) так, что бы их (модули) можно было запускать =)))
Алексей

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #16 : 20-03-2014, 23:38:37 »
В каком-то из pep они призывают писать модули (читай, библиотечные файлы) так, что бы их (модули) можно было запускать =)))
Я так понимаю это мне??
ну в общем кусок кода полностью выполняет ту задачу о которой написано (расширяет класс), но если и с примером то нате:
Код - C# [Выбрать]
  1. open System
  2. open Autodesk.AutoCAD.ApplicationServices
  3. open Autodesk.AutoCAD.Runtime
  4. open Autodesk.AutoCAD.DatabaseServices
  5. open Autodesk.AutoCAD.EditorInput
  6.                            
  7. type BlockTableRecord with
  8.   member this.HasAttribute=seq{for id in this->id.ObjectClass.DxfName}
  9.                             |>Seq.exists ((=)"ATTDEF")
  10. let Init()=
  11.   let doc=Application.DocumentManager.MdiActiveDocument
  12.   doc,doc.Editor,doc.Database,doc.TransactionManager.StartTransaction
  13.  
  14. [<CommandMethod "Test">]
  15. let Test()=
  16.   let doc,ed,db,trf=Init()
  17.   use tr=trf()
  18.   seq{for id in (tr.GetObject(db.BlockTableId,OpenMode.ForRead):?>BlockTable)->
  19.             tr.GetObject(id,OpenMode.ForRead):?>BlockTableRecord}
  20.          |>Seq.map (fun blr->blr.Name+" - "+(string blr.HasAttribute)+"\n")
  21.          |>String.Concat //по моему эта перегрузка работает с IEnumerable начиная с Net 4.0
  22.                          //в младших можно например так - Seq.reduce (+)
  23.          |>ed.WriteMessage
  24.   tr.Commit()

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #17 : 21-03-2014, 12:05:58 »
Заменил FirstOrDefault на Any - так будет ещё лучше (спасибо Д. Загорулькину за замечание).

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #18 : 28-03-2014, 12:10:49 »
Баг подтвердили и отдали для исправления. Но в AutoCAD 2015 он пока есть.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #19 : 27-03-2015, 13:09:03 »
Присутствует ли обозначенный баг в AutoCAD 2016?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #20 : 27-03-2015, 13:12:15 »
Присутствует ли обозначенный баг в AutoCAD 2016?
Как только смогу доползти до компьютера, так сразу и проверю.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #21 : 30-03-2015, 17:13:06 »
Проверил. К сожалению баг не исправили. Так что я напомнил о нём.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Глюки BlockTableRecord.HasAttributeDefinitions AC2014
« Ответ #22 : 30-03-2015, 17:22:42 »
К сожалению баг не исправили.
Я бы удивился, если бы было иначе, хотя где-то очень глубоко надежда жила: "а вдруг...", тем более, что исправление данного бага занимает не больше минуты времени.