ADN Club => ObjectARX => Тема начата: Николай Горлов от 14-11-2014, 15:16:16
Название: TRIM vs EXTEND
Отправлено: Николай Горлов от 14-11-2014, 15:16:16
перед вопросом опишу сам принцип работы команд, как я их понимаю (возможно и не правильно понимаю :)) ) принцип работы TRIM для объекта вызывается Class::intersectWith, потом полученные точки точно садят на траекторию через Class::getClosestPointTo/Class::getParamAtPoint/Class::getPointAtParam и т.д. и т.п. дальше полученные точки передаются в отработку Class::getSplitCurves, где создаются несколько объектов из кусков начального объекта по указанным точкам. всё. команда закончена, но, т.к. создавались объекты через "new" но акад производит их принудительную перерисовку.
принцип работы EXTEND для объекта вызывается Class::intersectWith с параметром "улинняй объект" дальше полученная точка передается в Class::extend
возврат из неё Acad::eOk. всё хорошо, вот только объект принудительно не перерисовывается. и даже нет входа в subWorldDraw (https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs7.postimg.org%2Fakb5ctm2f%2F0101010.jpg&hash=d533ee951f6060b36127cae65abf812d) (http://postimg.org/image/akb5ctm2f/)
отрисовка становится правильной если поменять свойства объекта через окно свойств, перетянуть узловую точку или просто вызвать регенерацию чертежа. но хочется ведь чтоб сразу всё было, без танцев с бубном :). что это может быть? объект наследник от AcDbCurve.
Название: Re: TRIM vs EXTEND
Отправлено: Александр Ривилис от 14-11-2014, 15:29:29
1) Не ленись выставлять правильные теги для языка. 2) Может быть всё-таки не:
Название: Re: TRIM vs EXTEND
Отправлено: Николай Горлов от 14-11-2014, 15:51:33
точно :):):) пока не прикрутил точки привязки всё всех устраивало. прикрутил. полезли проблемы с extend, trim, break :) вылечил всё кроме extend. но теперь уже всё работает.
всё. пора на покой. а то разломаю проектик окончательно? если еще чего-то добавлять буду. :):):) PS: в оригинале то write стоял.
PS: эт я пытаюсь усовершенствовать акадовский текст по кривой :):):), хотя сложно назвать усовершенствованием то, от чего осталось 30% начального кода :) вот что получается, если в кратце