diff --git a/src/Mod/PartDesign/App/FeatureDraft.cpp b/src/Mod/PartDesign/App/FeatureDraft.cpp index b94a17b78f..24ce5544f9 100644 --- a/src/Mod/PartDesign/App/FeatureDraft.cpp +++ b/src/Mod/PartDesign/App/FeatureDraft.cpp @@ -126,9 +126,13 @@ App::DocumentObjectExecReturn *Draft::execute() App::DocumentObject* refDirection = PullDirection.getValue(); if (refDirection) { if (refDirection->isDerivedFrom()) { - PartDesign::Line* line = static_cast(refDirection); - Base::Vector3d d = line->getDirection(); - pullDirection = gp_Dir(d.x, d.y, d.z); + PartDesign::Line* line = static_cast(refDirection); + Base::Vector3d d = line->getDirection(); + pullDirection = gp_Dir(d.x, d.y, d.z); + } else if (refDirection->isDerivedFrom()) { + App::Line* line = static_cast(refDirection); + Base::Vector3d d = line->getDirection(); + pullDirection = gp_Dir(d.x, d.y, d.z); } else if (refDirection->isDerivedFrom()) { std::vector subStrings = PullDirection.getSubValues(); if (subStrings.empty() || subStrings[0].empty())