ConduitJoin.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace FWindSoft.Revit.Mep
  7. {
  8. public class ConduitJoin : IMepCurveJoin
  9. {
  10. #region 具体链接细节
  11. private IJoinCurve m_Join2Conduit = new Join2Conduit();
  12. private IJoinCurve m_Join3Conduit = new Join3Conduit();
  13. private IJoinCurve m_Join4Conduit = new Join4Conduit();
  14. private IJoinCurve m_Join5Conduit = new Join5Conduit();
  15. #endregion
  16. public bool Join2Curve(List<JoinElementWraper> elements, JoinContext context)
  17. {
  18. /*
  19. * 该接口的主要目的,是对接自动链接的框架;
  20. * 连接的具体代码可以直接在这个函数里写,
  21. * 也可以再封装一层连接类,具体的连接处理逻辑在连接类里面写,
  22. * 这样有一个好处,就是在其他地方用的时候比较方便
  23. */
  24. return m_Join2Conduit.Join(elements, context);
  25. }
  26. public bool Join3Curve(List<JoinElementWraper> elements, JoinContext context)
  27. {
  28. return m_Join3Conduit.Join(elements, context);
  29. }
  30. public bool Join4Curve(List<JoinElementWraper> elements, JoinContext context)
  31. {
  32. return m_Join4Conduit.Join(elements, context);
  33. }
  34. public bool JoinOtherCurve(List<JoinElementWraper> elements, JoinContext context)
  35. {
  36. if (elements.Count == 5)
  37. {
  38. return m_Join5Conduit.Join(elements, context);
  39. }
  40. return false;
  41. }
  42. }
  43. }